diff --git a/scripts/weboob b/scripts/weboob index 999eb605c54bb41210ddd978fdd1098b7cb19ecb..24b70c46bb1c91692bc229bd69a262d6ee5fcbe4 100755 --- a/scripts/weboob +++ b/scripts/weboob @@ -21,6 +21,7 @@ # along with weboob. If not, see . from __future__ import absolute_import +from __future__ import print_function import re import os diff --git a/weboob/applications/boobank/boobank.py b/weboob/applications/boobank/boobank.py index d6d86b4947c5a6294cbbb4f1782708b751fdeb02..f1839db50d911e6a1b70d7d441a327a28fd9023c 100644 --- a/weboob/applications/boobank/boobank.py +++ b/weboob/applications/boobank/boobank.py @@ -376,7 +376,7 @@ def format_obj(self, obj, alias): def flush(self): self.output(u'------------------------------------------%s+----------+----------' % (('-' * 15) if not self.interactive else '')) - for currency, currency_totals in sorted(self.totals.iteritems(), key=lambda (k,v): (v,k)): + for currency, currency_totals in sorted(self.totals.iteritems(), key=lambda k_v: (k_v[1],k_v[0])): balance = currency_totals['balance'] coming = currency_totals['coming'] diff --git a/weboob/applications/qhavedate/search.py b/weboob/applications/qhavedate/search.py index 6f9f805ae68c434e9abe36ea63589b64203d54cb..ea46282945d04ed2dd911837197281f928184d60 100644 --- a/weboob/applications/qhavedate/search.py +++ b/weboob/applications/qhavedate/search.py @@ -72,7 +72,7 @@ def retrieveNewContacts_cb(self, contact): self.contacts.insert(0, contact) self.ui.queueLabel.setText('%d' % len(self.contacts)) if self.current is None: - self.next() + next(self) @Slot() def next(self): diff --git a/weboob/applications/radioob/radioob.py b/weboob/applications/radioob/radioob.py index cc90be07e6726de8e1eb2c1cd589bb95791b12eb..2c72dc1688b76933793e42420b0ea7f1d9d07b7d 100644 --- a/weboob/applications/radioob/radioob.py +++ b/weboob/applications/radioob/radioob.py @@ -292,7 +292,7 @@ def do_play(self, line): stream = self.get_object(stream.id, 'get_audio') else: r = requests.get(stream.url, stream=True) - buf = r.iter_content(512).next() + buf = next(r.iter_content(512)) r.close() playlistFormat = None for line in buf.split("\n"): diff --git a/weboob/browser/browsers.py b/weboob/browser/browsers.py index 8e8781fd74028f65151821a0acb623fcca1818c8..3f83687ff3428f788e7c2e0a1aa22032ff641114 100644 --- a/weboob/browser/browsers.py +++ b/weboob/browser/browsers.py @@ -25,6 +25,7 @@ import pickle import base64 import zlib +from functools import reduce try: from requests.packages import urllib3 except ImportError: diff --git a/weboob/browser/elements.py b/weboob/browser/elements.py index c87361dd2511ab3a5f5063449b6763ea19ec31a6..71111b3a02f2f00d081a0cbc0cdd50c07b9c3e43 100644 --- a/weboob/browser/elements.py +++ b/weboob/browser/elements.py @@ -17,6 +17,8 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from __future__ import print_function + import os import re import sys diff --git a/weboob/browser/pages.py b/weboob/browser/pages.py index dc2744764c0bc9024e8c4a0a154970462d72476d..9a4129aadb92d78b5617d9b737688fd02c67803f 100644 --- a/weboob/browser/pages.py +++ b/weboob/browser/pages.py @@ -25,6 +25,7 @@ from io import BytesIO import codecs from cgi import parse_header +from functools import reduce try: import urlparse except ImportError: diff --git a/weboob/capabilities/base.py b/weboob/capabilities/base.py index 8b4f036ed4da2e3b50e3d8316d9b939b84db126a..2d4d5c6932aae00a6fd4375484cb459d77d44a7f 100644 --- a/weboob/capabilities/base.py +++ b/weboob/capabilities/base.py @@ -38,7 +38,7 @@ def enum(**enums): _keys = enums.keys() _items = enums.items() _types = list((type(value) for value in enums.values())) - _index = dict((value if not isinstance(value, dict) else value.itervalues().next(), i) for i, value in enumerate(enums.values())) + _index = dict((value if not isinstance(value, dict) else next(value.itervalues()), i) for i, value in enumerate(enums.values())) enums['keys'] = _keys enums['values'] = _values diff --git a/weboob/capabilities/collection.py b/weboob/capabilities/collection.py index 0704543414bcec71380af1a743f3aaa6bbfec231..40842a02d85f559db492fa412f6af888cea0ecb1 100644 --- a/weboob/capabilities/collection.py +++ b/weboob/capabilities/collection.py @@ -140,7 +140,7 @@ def validate_collection(self, objs, collection): return try: i = self.iter_resources(objs, collection.split_path) - i.next() + next(i) except StopIteration: raise CollectionNotFound(collection.split_path) diff --git a/weboob/tools/capabilities/gallery/genericcomicreadertest.py b/weboob/tools/capabilities/gallery/genericcomicreadertest.py index 5607cfeb4e5d4d31c630272798f28bfe3729350b..8965db541a6e377a99e5f7f1b1a7754971030984 100644 --- a/weboob/tools/capabilities/gallery/genericcomicreadertest.py +++ b/weboob/tools/capabilities/gallery/genericcomicreadertest.py @@ -24,6 +24,6 @@ class GenericComicReaderTest(BackendTest): def _test_download(self, _id): g = self.backend.get_gallery(_id) it = self.backend.iter_gallery_images(g) - it.next() - img = it.next() + next(it) + img = next(it) self.backend.fillobj(img, ('url', 'data')) diff --git a/weboob/tools/misc.py b/weboob/tools/misc.py index 7b8c82cb32f5ac023b664607fd319cdc34d65301..4053f1f429de3297ebd692c77ae2bf7c79fcc6c0 100644 --- a/weboob/tools/misc.py +++ b/weboob/tools/misc.py @@ -118,7 +118,7 @@ def limit(iterator, lim): count = 0 iterator = iter(iterator) while count < lim: - yield iterator.next() + yield next(iterator) count += 1 diff --git a/weboob/tools/regex_helper.py b/weboob/tools/regex_helper.py index 42252c94a8069bb07c909b126608f61ce33ee214..a102534691a41ebd7912e2d030fb5d3b551a5fa4 100644 --- a/weboob/tools/regex_helper.py +++ b/weboob/tools/regex_helper.py @@ -107,7 +107,7 @@ def normalize(pattern): # at the next character and possibly go around without consuming another # one at the top of the loop. try: - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) except StopIteration: return zip([u''], [[]]) @@ -137,14 +137,14 @@ def normalize(pattern): result = result[:start] + [inner] elif ch == '[': # Replace ranges with the first character in the range. - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) result.append(ch) - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) while escaped or ch != ']': - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) elif ch == '(': # Some kind of group. - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) if ch != '?' or escaped: # A positional group name = "_%d" % num_args @@ -152,7 +152,7 @@ def normalize(pattern): result.append(Group(((u"%%(%s)s" % name), name))) walk_to_end(ch, pattern_iter) else: - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) if ch in "iLmsu#": # All of these are ignorable. Walk to the end of the # group. @@ -165,7 +165,7 @@ def normalize(pattern): # we cannot reverse. raise ValueError("Non-reversible reg-exp portion: '(?%s'" % ch) else: - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) if ch not in ('<', '='): raise ValueError("Non-reversible reg-exp portion: '(?P%s'" % ch) # We are in a named capturing group. Extra the name and @@ -176,10 +176,10 @@ def normalize(pattern): else: terminal_char = ')' name = [] - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) while ch != terminal_char: name.append(ch) - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) param = ''.join(name) # Named backreferences have already consumed the # parenthesis. @@ -215,7 +215,7 @@ def normalize(pattern): result.append(ch) if consume_next: - ch, escaped = pattern_iter.next() + ch, escaped = next(pattern_iter) else: consume_next = True except StopIteration: @@ -241,7 +241,7 @@ def next_char(input_iter): if ch != '\\': yield ch, False continue - ch = input_iter.next() + ch = next(input_iter) representative = ESCAPE_MAPPINGS.get(ch, ch) if representative is None: continue @@ -280,7 +280,7 @@ def get_quantifier(ch, input_iter): """ if ch in '*?+': try: - ch2, escaped = input_iter.next() + ch2, escaped = next(input_iter) except StopIteration: ch2 = None if ch2 == '?': @@ -291,14 +291,14 @@ def get_quantifier(ch, input_iter): quant = [] while ch != '}': - ch, escaped = input_iter.next() + ch, escaped = next(input_iter) quant.append(ch) quant = quant[:-1] values = ''.join(quant).split(',') # Consume the trailing '?', if necessary. try: - ch, escaped = input_iter.next() + ch, escaped = next(input_iter) except StopIteration: ch = None if ch == '?': diff --git a/weboob/tools/test.py b/weboob/tools/test.py index bfd3fdad767bfe39b76652d34c024fe1dfc0b320..c624394c5be89726d4689733ce0a3fb55b09eecf 100644 --- a/weboob/tools/test.py +++ b/weboob/tools/test.py @@ -17,6 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from __future__ import print_function import sys from functools import wraps from unittest import TestCase