diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/core/chains.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/address.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/digests.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/domain.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/mime.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/user.py | 2 | ||||
| -rw-r--r-- | src/mailman/runners/archive.py | 2 | ||||
| -rw-r--r-- | src/mailman/testing/flake8.py | 17 |
8 files changed, 23 insertions, 8 deletions
diff --git a/src/mailman/core/chains.py b/src/mailman/core/chains.py index 3a503f193..ec84db2c4 100644 --- a/src/mailman/core/chains.py +++ b/src/mailman/core/chains.py @@ -20,7 +20,7 @@ from mailman import public from mailman.chains.base import Chain, TerminalChainBase from mailman.config import config -from mailman.interfaces.chain import LinkAction, IChain +from mailman.interfaces.chain import IChain, LinkAction from mailman.utilities.modules import find_components from zope.interface.verify import verifyObject diff --git a/src/mailman/model/address.py b/src/mailman/model/address.py index ce32704bb..7a3485378 100644 --- a/src/mailman/model/address.py +++ b/src/mailman/model/address.py @@ -24,7 +24,7 @@ from mailman.interfaces.address import ( AddressVerificationEvent, IAddress, IEmailValidator) from mailman.utilities.datetime import now from sqlalchemy import Column, DateTime, ForeignKey, Integer, Unicode -from sqlalchemy.orm import relationship, backref +from sqlalchemy.orm import backref, relationship from zope.component import getUtility from zope.event import notify from zope.interface import implementer diff --git a/src/mailman/model/digests.py b/src/mailman/model/digests.py index fa1e7c417..ac49249cc 100644 --- a/src/mailman/model/digests.py +++ b/src/mailman/model/digests.py @@ -22,7 +22,7 @@ from mailman.database.model import Model from mailman.database.types import Enum from mailman.interfaces.digests import IOneLastDigest from mailman.interfaces.member import DeliveryMode -from sqlalchemy import Column, Integer, ForeignKey +from sqlalchemy import Column, ForeignKey, Integer from sqlalchemy.orm import relationship from zope.interface import implementer diff --git a/src/mailman/model/domain.py b/src/mailman/model/domain.py index e137da310..5eb67fa95 100644 --- a/src/mailman/model/domain.py +++ b/src/mailman/model/domain.py @@ -29,9 +29,9 @@ from mailman.model.mailinglist import MailingList from sqlalchemy import Column, Integer, Unicode from sqlalchemy.orm import relationship from urllib.parse import urljoin, urlparse +from zope.component import getUtility from zope.event import notify from zope.interface import implementer -from zope.component import getUtility @public diff --git a/src/mailman/model/mime.py b/src/mailman/model/mime.py index 3bc09a411..849eac385 100644 --- a/src/mailman/model/mime.py +++ b/src/mailman/model/mime.py @@ -20,7 +20,7 @@ from mailman import public from mailman.database.model import Model from mailman.database.types import Enum -from mailman.interfaces.mime import IContentFilter, FilterType +from mailman.interfaces.mime import FilterType, IContentFilter from sqlalchemy import Column, ForeignKey, Integer, Unicode from sqlalchemy.orm import relationship from zope.interface import implementer diff --git a/src/mailman/model/user.py b/src/mailman/model/user.py index a1a61b38b..767600bdc 100644 --- a/src/mailman/model/user.py +++ b/src/mailman/model/user.py @@ -31,7 +31,7 @@ from mailman.model.roster import Memberships from mailman.utilities.datetime import factory as date_factory from mailman.utilities.uid import UIDFactory from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, Unicode -from sqlalchemy.orm import relationship, backref +from sqlalchemy.orm import backref, relationship from zope.event import notify from zope.interface import implementer diff --git a/src/mailman/runners/archive.py b/src/mailman/runners/archive.py index 7bf655a24..23b7b164d 100644 --- a/src/mailman/runners/archive.py +++ b/src/mailman/runners/archive.py @@ -21,7 +21,7 @@ import copy import logging from datetime import datetime -from email.utils import parsedate_tz, mktime_tz +from email.utils import mktime_tz, parsedate_tz from lazr.config import as_timedelta from mailman import public from mailman.config import config diff --git a/src/mailman/testing/flake8.py b/src/mailman/testing/flake8.py index df4e39c90..18193d1e1 100644 --- a/src/mailman/testing/flake8.py +++ b/src/mailman/testing/flake8.py @@ -81,7 +81,22 @@ class ImportOrder: if last_import.itype is ImportType.from_import: yield self._error(record, 'B401', 'Non-from import follows from-import') - if len(last_import.names[0]) > len(record.names[0]): + # Shorter imports should always precede longer import *except* + # when they are dotted imports and everything but the last + # path component are the same. In that case, they should be + # sorted alphabetically. + last_name = last_import.names[0] + this_name = record.names[0] + if '.' in last_name and '.' in this_name: + last_parts = last_name.split('.') + this_parts = this_name.split('.') + if (last_parts[:-1] == this_parts[:-1] and + last_parts[-1] > this_parts[-1]): + yield self._error( + record, 'B410', + 'Dotted non-from import not sorted ' + 'alphabetically') + elif len(last_name) > len(this_name): yield self._error( record, 'B403', 'Shorter non-from import follows longer') |
