From 171ecc86e49776b238e5b36af98efddb892053ab Mon Sep 17 00:00:00 2001 From: Maurits van Rees Date: Fri, 3 Sep 2021 10:09:45 +0200 Subject: More aggressive autopep8. With `--ignore W690,E711,E721 --aggressive` --- docs/conf.py | 9 ++++---- src/zope/i18n/format.py | 42 ++++++++++++++++++---------------- src/zope/i18n/locales/__init__.py | 13 +++++++---- src/zope/i18n/locales/xmlfactory.py | 13 ++++++----- src/zope/i18n/tests/test_formats.py | 41 ++++++++++++++++++--------------- src/zope/i18n/tests/test_negotiator.py | 10 ++++---- src/zope/i18n/translationdomain.py | 2 +- 7 files changed, 70 insertions(+), 60 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index f6fff3f..02f419e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ import pkg_resources sys.path.append(os.path.abspath('../src')) rqmt = pkg_resources.require('zope.i18n')[0] -# -- General configuration ----------------------------------------------------- +# -- General configuration ----------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. @@ -77,7 +77,8 @@ release = rqmt.version # for source files. exclude_trees = ['_build'] -# The reST default role (used for this markup: `text`) to use for all documents. +# The reST default role (used for this markup: `text`) to use for all +# documents. default_role = 'obj' # If true, '()' will be appended to :func: etc. cross-reference text. @@ -98,7 +99,7 @@ pygments_style = 'sphinx' #modindex_common_prefix = [] -# -- Options for HTML output --------------------------------------------------- +# -- Options for HTML output --------------------------------------------- # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. @@ -172,7 +173,7 @@ html_static_path = ['_static'] htmlhelp_basename = 'zopei18ndoc' -# -- Options for LaTeX output -------------------------------------------------- +# -- Options for LaTeX output -------------------------------------------- # The paper size ('letter' or 'a4'). #latex_paper_size = 'letter' diff --git a/src/zope/i18n/format.py b/src/zope/i18n/format.py index 7b9ba4a..eaec5d1 100644 --- a/src/zope/i18n/format.py +++ b/src/zope/i18n/format.py @@ -143,7 +143,7 @@ class DateTimeFormat(object): ampm_entry[0])] if hour == 12: ampm = not ampm - ordered[3] = (hour + 12*ampm) % 24 + ordered[3] = (hour + 12 * ampm) % 24 # Shortcut for the simple int functions dt_fields_map = {'d': 2, 'H': 3, 'm': 4, 's': 5, 'S': 6} @@ -236,7 +236,7 @@ class NumberFormat(object): self.symbols = { u"decimal": u".", u"group": u",", - u"list": u";", + u"list": u";", u"percentSign": u"%", u"nativeZeroDigit": u"0", u"patternDigit": u"#", @@ -282,12 +282,12 @@ class NumberFormat(object): min_size = bin_pattern[sign][INTEGER].count('0') if bin_pattern[sign][GROUPING]: regex += self.symbols['group'] - min_size += min_size/3 + min_size += min_size / 3 regex += ']{%i,100}' % (min_size) if bin_pattern[sign][FRACTION]: max_precision = len(bin_pattern[sign][FRACTION]) min_precision = bin_pattern[sign][FRACTION].count('0') - regex += '['+self.symbols['decimal']+']?' + regex += '[' + self.symbols['decimal'] + ']?' regex += '[0-9]{%i,%i}' % (min_precision, max_precision) if bin_pattern[sign][EXPONENTIAL] != '': regex += self.symbols['exponential'] @@ -327,13 +327,14 @@ class NumberFormat(object): num_str = num_str.replace(self.symbols['exponential'], 'E') if self.type: type = self.type - return sign*type(num_str) + return sign * type(num_str) def _format_integer(self, integer, pattern): size = len(integer) min_size = pattern.count('0') if size < min_size: - integer = self.symbols['nativeZeroDigit']*(min_size-size) + integer + integer = self.symbols['nativeZeroDigit'] * \ + (min_size - size) + integer return integer def _format_fraction(self, fraction, pattern, rounding=True): @@ -362,8 +363,8 @@ class NumberFormat(object): roundInt = True if precision < min_precision: - fraction += self.symbols['nativeZeroDigit']*(min_precision - - precision) + fraction += self.symbols['nativeZeroDigit'] * (min_precision - + precision) if fraction != '': fraction = self.symbols['decimal'] + fraction return fraction, roundInt @@ -440,16 +441,16 @@ class NumberFormat(object): # abs() of number smaller 1 if len(obj_int_frac) > 1: res = re.match('(0*)[0-9]*', obj_int_frac[1]).groups()[0] - exponent = self._format_integer(str(len(res)+1), + exponent = self._format_integer(str(len(res) + 1), exp_bin_pattern) - exponent = self.symbols['minusSign']+exponent + exponent = self.symbols['minusSign'] + exponent number = obj_int_frac[1][len(res):] else: # We have exactly 0 exponent = self._format_integer('0', exp_bin_pattern) number = self.symbols['nativeZeroDigit'] else: - exponent = self._format_integer(str(len(obj_int_frac[0])-1), + exponent = self._format_integer(str(len(obj_int_frac[0]) - 1), exp_bin_pattern) number = ''.join(obj_int_frac) @@ -484,13 +485,13 @@ class NumberFormat(object): if bin_pattern[GROUPING]: integer = self._group(integer, bin_pattern[GROUPING]) pre_padding = len(bin_pattern[INTEGER]) - len(integer) - post_padding = len(bin_pattern[FRACTION]) - len(fraction)+1 + post_padding = len(bin_pattern[FRACTION]) - len(fraction) + 1 number = integer + fraction # Put it all together text = '' if bin_pattern[PADDING1] is not None and pre_padding > 0: - text += bin_pattern[PADDING1]*pre_padding + text += bin_pattern[PADDING1] * pre_padding text += bin_pattern[PREFIX] if bin_pattern[PADDING2] is not None and pre_padding > 0: if bin_pattern[PADDING1] is not None: @@ -502,10 +503,10 @@ class NumberFormat(object): if bin_pattern[PADDING4] is not None: text += bin_pattern[PADDING3] else: - text += bin_pattern[PADDING3]*post_padding + text += bin_pattern[PADDING3] * post_padding text += bin_pattern[SUFFIX] if bin_pattern[PADDING4] is not None and post_padding > 0: - text += bin_pattern[PADDING4]*post_padding + text += bin_pattern[PADDING4] * post_padding # TODO: Need to make sure unicode is everywhere return text_type(text) @@ -644,9 +645,10 @@ def buildDateTimeParseInfo(calendar, pattern): elif entry[1] == 2: info[entry] = r'([0-9]{2})' elif entry[1] == 3: - info[entry] = r'('+'|'.join(calendar.getMonthAbbreviations())+')' + info[entry] = r'(' + \ + '|'.join(calendar.getMonthAbbreviations()) + ')' else: - info[entry] = r'('+'|'.join(calendar.getMonthNames())+')' + info[entry] = r'(' + '|'.join(calendar.getMonthNames()) + ')' # day in week (Text and Number) for entry in _findFormattingCharacterInPattern('E', pattern): @@ -655,9 +657,9 @@ def buildDateTimeParseInfo(calendar, pattern): elif entry[1] == 2: info[entry] = r'([0-9]{2})' elif entry[1] == 3: - info[entry] = r'('+'|'.join(calendar.getDayAbbreviations())+')' + info[entry] = r'(' + '|'.join(calendar.getDayAbbreviations()) + ')' else: - info[entry] = r'('+'|'.join(calendar.getDayNames())+')' + info[entry] = r'(' + '|'.join(calendar.getDayNames()) + ')' return info @@ -965,7 +967,7 @@ def parseNumberPattern(pattern): last_index = -1 for index, char in enumerate(reversed(integer)): if char == ",": - grouping += (index-last_index-1,) + grouping += (index - last_index - 1,) last_index = index # use last group ad infinitum grouping += (0,) diff --git a/src/zope/i18n/locales/__init__.py b/src/zope/i18n/locales/__init__.py index 9da515a..82159ff 100644 --- a/src/zope/i18n/locales/__init__.py +++ b/src/zope/i18n/locales/__init__.py @@ -103,7 +103,8 @@ class LocaleIdentity(object): """ - def __init__(self, language=None, script=None, territory=None, variant=None): + def __init__(self, language=None, script=None, + territory=None, variant=None): """Initialize object.""" self.language = language self.script = script @@ -344,7 +345,8 @@ class LocaleCalendar(AttributeInheritance): def getMonthNames(self): """See zope.i18n.interfaces.ILocaleCalendar""" - return [self.months.get(type, (None, None))[0] for type in range(1, 13)] + return [self.months.get(type, (None, None))[0] + for type in range(1, 13)] def getMonthTypeFromName(self, name): """See zope.i18n.interfaces.ILocaleCalendar""" @@ -354,7 +356,8 @@ class LocaleCalendar(AttributeInheritance): def getMonthAbbreviations(self): """See zope.i18n.interfaces.ILocaleCalendar""" - return [self.months.get(type, (None, None))[1] for type in range(1, 13)] + return [self.months.get(type, (None, None))[1] + for type in range(1, 13)] def getMonthTypeFromAbbreviation(self, abbr): """See zope.i18n.interfaces.ILocaleCalendar""" @@ -506,11 +509,11 @@ class LocaleDates(AttributeInheritance): cal = self.calendars[calendar] - formats = getattr(cal, category+'Formats') + formats = getattr(cal, category + 'Formats') if length is None: length = getattr( cal, - 'default'+category[0].upper()+category[1:]+'Format', + 'default' + category[0].upper() + category[1:] + 'Format', list(formats.keys())[0]) # 'datetime' is always a bit special; we often do not have a length diff --git a/src/zope/i18n/locales/xmlfactory.py b/src/zope/i18n/locales/xmlfactory.py index 5dbcee0..5710d19 100644 --- a/src/zope/i18n/locales/xmlfactory.py +++ b/src/zope/i18n/locales/xmlfactory.py @@ -759,7 +759,8 @@ class LocaleFactory(object): if length_node.getElementsByTagName(formatNodeName): length.formats = InheritingDictionary() - for format_node in length_node.getElementsByTagName(formatNodeName): + for format_node in length_node.getElementsByTagName( + formatNodeName): format = LocaleFormat() format.type = format_node.getAttribute('type') or None pattern_node = format_node.getElementsByTagName('pattern')[0] @@ -909,7 +910,7 @@ class LocaleFactory(object): default, formats = self._extractFormats( formats_nodes[0], lengthName, formatName) setattr(calendar, - 'default'+formatName[0].upper()+formatName[1:], + 'default' + formatName[0].upper() + formatName[1:], default) setattr(calendar, formatsName, formats) @@ -1153,10 +1154,10 @@ class LocaleFactory(object): """ for category in ('decimal', 'scientific', 'percent', 'currency'): - formatsName = category+'Formats' - lengthName = category+'FormatLength' - formatName = category+'Format' - defaultName = 'default'+formatName[0].upper()+formatName[1:] + formatsName = category + 'Formats' + lengthName = category + 'FormatLength' + formatName = category + 'Format' + defaultName = 'default' + formatName[0].upper() + formatName[1:] formats_nodes = numbers_node.getElementsByTagName(formatsName) if formats_nodes: diff --git a/src/zope/i18n/tests/test_formats.py b/src/zope/i18n/tests/test_formats.py index 24791b4..4ca039e 100644 --- a/src/zope/i18n/tests/test_formats.py +++ b/src/zope/i18n/tests/test_formats.py @@ -72,7 +72,8 @@ class LocaleCalendarStub(object): week = {'firstDay': 1, 'minDays': 1} def getMonthNames(self): - return [self.months.get(type, (None, None))[0] for type in range(1, 13)] + return [self.months.get(type, (None, None))[0] + for type in range(1, 13)] def getMonthTypeFromName(self, name): for item in self.months.items(): @@ -80,7 +81,8 @@ class LocaleCalendarStub(object): return item[0] def getMonthAbbreviations(self): - return [self.months.get(type, (None, None))[1] for type in range(1, 13)] + return [self.months.get(type, (None, None))[1] + for type in range(1, 13)] def getMonthTypeFromAbbreviation(self, abbr): for item in self.months.items(): @@ -230,7 +232,8 @@ class TestBuildDateTimeParseInfo(_TestCase): def testAMPMMarker(self): names = ['vorm.', 'nachm.'] for length in range(1, 6): - self.assertEqual(self.info(('a', length)), '('+'|'.join(names)+')') + self.assertEqual(self.info(('a', length)), + '(' + '|'.join(names) + ')') def testEra(self): self.assertEqual(self.info(('G', 1)), '(v. Chr.|n. Chr.)') @@ -250,12 +253,12 @@ class TestBuildDateTimeParseInfo(_TestCase): names = [u"Januar", u"Februar", u"Maerz", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] - self.assertEqual(self.info(('M', 4)), '('+'|'.join(names)+')') + self.assertEqual(self.info(('M', 4)), '(' + '|'.join(names) + ')') def testMonthAbbr(self): names = ['Jan', 'Feb', 'Mrz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'] - self.assertEqual(self.info(('M', 3)), '('+'|'.join(names)+')') + self.assertEqual(self.info(('M', 3)), '(' + '|'.join(names) + ')') def testWeekdayNumber(self): self.assertEqual(self.info(('E', 1)), '([0-9])') @@ -264,13 +267,13 @@ class TestBuildDateTimeParseInfo(_TestCase): def testWeekdayNames(self): names = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'] - self.assertEqual(self.info(('E', 4)), '('+'|'.join(names)+')') - self.assertEqual(self.info(('E', 5)), '('+'|'.join(names)+')') - self.assertEqual(self.info(('E', 10)), '('+'|'.join(names)+')') + self.assertEqual(self.info(('E', 4)), '(' + '|'.join(names) + ')') + self.assertEqual(self.info(('E', 5)), '(' + '|'.join(names) + ')') + self.assertEqual(self.info(('E', 10)), '(' + '|'.join(names) + ')') def testWeekdayAbbr(self): names = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'] - self.assertEqual(self.info(('E', 3)), '('+'|'.join(names)+')') + self.assertEqual(self.info(('E', 3)), '(' + '|'.join(names) + ')') class TestDateTimeFormat(_TestCase): @@ -468,10 +471,10 @@ class TestDateTimeFormat(_TestCase): for day in range(1, 8): self.assertEqual( self.format.format( - datetime.datetime(2003, 1, day+5, 21, 48), + datetime.datetime(2003, 1, day + 5, 21, 48), "EEEE, d. MMMM yyyy H:mm' Uhr 'z"), '%s, %i. Januar 2003 21:48 Uhr +000' % ( - self.format.calendar.days[day][0], day+5)) + self.format.calendar.days[day][0], day + 5)) def testFormatTimeZone(self): self.assertEqual( @@ -712,7 +715,7 @@ class TestNumberPatternParser(_TestCase): self.assertEqual( parseNumberPattern('###0;#0'), ((None, '', None, '###0', '', '', None, '', None, ()), - (None, '', None, '#0', '', '', None, '', None, ()))) + (None, '', None, '#0', '', '', None, '', None, ()))) def testParsePrefixedIntegerPattern(self): self.assertEqual( @@ -754,7 +757,7 @@ class TestNumberPatternParser(_TestCase): self.assertEqual( parseNumberPattern('###0.00#;#0.0#'), ((None, '', None, '###0', '00#', '', None, '', None, ()), - (None, '', None, '#0', '0#', '', None, '', None, ()))) + (None, '', None, '#0', '0#', '', None, '', None, ()))) def testParsePosNegFractionPattern(self): self.assertEqual( @@ -1426,27 +1429,27 @@ class TestNumberFormat(_TestCase): def testFormatHighPrecisionNumbers(self): self.assertEqual( self.format.format( - 1+1e-7, '(#0.00#####);(-#0.00#####)'), + 1 + 1e-7, '(#0.00#####);(-#0.00#####)'), '(1.0000001)') self.assertEqual( self.format.format( - 1+1e-7, '(#0.00###)'), + 1 + 1e-7, '(#0.00###)'), '(1.00000)') self.assertEqual( self.format.format( - 1+1e-9, '(#0.00#######);(-#0.00#######)'), + 1 + 1e-9, '(#0.00#######);(-#0.00#######)'), '(1.000000001)') self.assertEqual( self.format.format( - 1+1e-9, '(#0.00###)'), + 1 + 1e-9, '(#0.00###)'), '(1.00000)') self.assertEqual( self.format.format( - 1+1e-12, '(#0.00##########);(-#0.00##########)'), + 1 + 1e-12, '(#0.00##########);(-#0.00##########)'), '(1.000000000001)') self.assertEqual( self.format.format( - 1+1e-12, '(#0.00###)'), + 1 + 1e-12, '(#0.00###)'), '(1.00000)') def testNoRounding(self): diff --git a/src/zope/i18n/tests/test_negotiator.py b/src/zope/i18n/tests/test_negotiator.py index ff855e2..ef6a470 100644 --- a/src/zope/i18n/tests/test_negotiator.py +++ b/src/zope/i18n/tests/test_negotiator.py @@ -40,11 +40,11 @@ class NegotiatorTest(PlacelessSetup, unittest.TestCase): def test_findLanguages(self): _cases = ( - (('en', 'de'), ('en', 'de', 'fr'), 'en'), - (('en'), ('it', 'de', 'fr'), None), - (('pt-br', 'de'), ('pt_BR', 'de', 'fr'), 'pt_BR'), - (('pt-br', 'en'), ('pt', 'en', 'fr'), 'pt'), - (('pt-br', 'en-us', 'de'), ('de', 'en', 'fr'), 'en'), + (('en', 'de'), ('en', 'de', 'fr'), 'en'), + (('en'), ('it', 'de', 'fr'), None), + (('pt-br', 'de'), ('pt_BR', 'de', 'fr'), 'pt_BR'), + (('pt-br', 'en'), ('pt', 'en', 'fr'), 'pt'), + (('pt-br', 'en-us', 'de'), ('de', 'en', 'fr'), 'en'), ) for user_pref_langs, obj_langs, expected in _cases: diff --git a/src/zope/i18n/translationdomain.py b/src/zope/i18n/translationdomain.py index b9287f0..155e6c2 100644 --- a/src/zope/i18n/translationdomain.py +++ b/src/zope/i18n/translationdomain.py @@ -85,7 +85,7 @@ class TranslationDomain(object): msgid_plural, default_plural, number) def _recursive_translate(self, msgid, mapping, target_language, default, - context, msgid_plural, default_plural, number, + context, msgid_plural, default_plural, number, seen=None): """Recursively translate msg.""" # MessageID attributes override arguments -- cgit v1.2.1