[meld: 2/3] issue: #misc.all_same - make all_same accept iterables; commit: use iterables and lazy match content
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld: 2/3] issue: #misc.all_same - make all_same accept iterables; commit: use iterables and lazy match content
- Date: Thu, 5 Jul 2018 20:08:28 +0000 (UTC)
commit 9d1a330580902d23741156f43061e14234e109bb
Author: hugosenari <hugosenari gmail com>
Date: Tue Jul 3 00:54:28 2018 -0300
issue: #misc.all_same - make all_same accept iterables; commit: use iterables and lazy match content
meld/misc.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/meld/misc.py b/meld/misc.py
index 21d52915..49f77dc4 100644
--- a/meld/misc.py
+++ b/meld/misc.py
@@ -281,9 +281,15 @@ def get_common_theme():
return fill_colours, line_colours
-def all_same(lst):
+def all_same(iterable):
"""Return True if all elements of the list are equal"""
- return not lst or lst.count(lst[0]) == len(lst)
+ sample, has_no_sample = None, True
+ for item in iterable or ():
+ if has_no_sample:
+ sample, has_no_sample = item, False
+ elif sample != item:
+ return False
+ return True
def shorten_names(*names):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]