Skip to content

Commit

Permalink
Update isort to version 5. (#910)
Browse files Browse the repository at this point in the history
* Update `isort` to version 5.

This fixes #892

* Restore flags for `isort`

modified:   tox.ini

* Move first party imports into `known_zope`

* Use simplified isort config

* - fix pkg_resources

Co-authored-by: Jens Vagelpohl <jens@netz.ooo>
  • Loading branch information
jugmac00 and dataflake committed Oct 8, 2020
1 parent 5c7ae68 commit 48961ab
Show file tree
Hide file tree
Showing 52 changed files with 153 additions and 119 deletions.
3 changes: 3 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ Fixes
Python script.
(`#901 <https://github.com/zopefoundation/Zope/pull/901>`_)

- Update `isort` to version 5.
(`#892 <https://github.com/zopefoundation/Zope/pull/892>`_)

Other changes
+++++++++++++

Expand Down
7 changes: 2 additions & 5 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,11 @@ ignore =
force_single_line = True
combine_as_imports = True
sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER
known_standard_library = _thread
known_third_party = ipaddress, PasteDeploy, six, waitress, chameleon, paste
known_zope = AccessControl, Acquisition, DateTime, DocumentTemplate, ExtensionClass, MultiMapping, Persistence, persistent, RestrictedPython, Testing, transaction, ZConfig, zExceptions, ZODB, zope, Zope2, App
known_third_party = ipaddress, PasteDeploy, waitress, chameleon, paste, pkg_resources
known_zope = AccessControl, Acquisition, App, DateTime, DocumentTemplate, ExtensionClass, MultiMapping, OFS, Persistence, persistent, Products, RestrictedPython, Shared, Testing, transaction, webdav, ZConfig, zExceptions, zmi, ZODB, zope, Zope2, ZPublisher, ZTUtils
default_section = ZOPE
line_length = 79
lines_after_imports = 2
not_skip =
__init__.py

[flake8]
ignore =
Expand Down
8 changes: 4 additions & 4 deletions src/OFS/Application.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,8 +291,8 @@ def install_inituser(self):
def install_virtual_hosting(self):
app = self.getApp()
if 'virtual_hosting' not in app:
from Products.SiteAccess.VirtualHostMonster \
import VirtualHostMonster
from Products.SiteAccess.VirtualHostMonster import \
VirtualHostMonster
any_vhm = [obj for obj in app.values()
if isinstance(obj, VirtualHostMonster)]
if not any_vhm:
Expand All @@ -304,8 +304,8 @@ def install_virtual_hosting(self):
def install_root_view(self):
app = self.getApp()
if 'index_html' not in app:
from Products.PageTemplates.ZopePageTemplate \
import ZopePageTemplate
from Products.PageTemplates.ZopePageTemplate import \
ZopePageTemplate
root_pt = ZopePageTemplate('index_html')
root_pt.pt_setTitle('Auto-generated default page')
app._setObject('index_html', root_pt)
Expand Down
2 changes: 1 addition & 1 deletion src/OFS/tests/applicationproduct/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@


def initialize(context):
from OFS.Folder import Folder
import transaction
from OFS.Folder import Folder

app = context.getApplication()
folder = Folder('some_folder')
Expand Down
1 change: 1 addition & 0 deletions src/OFS/tests/testApplication.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ def test_redirect_regression(self):

def test_ZopeVersion(self):
import pkg_resources

from App.version_txt import getZopeVersion

app = self._makeOne()
Expand Down
3 changes: 2 additions & 1 deletion src/OFS/tests/testCopySupport.py
Original file line number Diff line number Diff line change
Expand Up @@ -362,8 +362,9 @@ def _scrubSecurity(self):
def _assertCopyErrorUnauth(self, callable, *args, **kw):

import re
from zExceptions import Unauthorized

from OFS.CopySupport import CopyError
from zExceptions import Unauthorized

ce_regex = kw.get('ce_regex')
if ce_regex is not None:
Expand Down
2 changes: 1 addition & 1 deletion src/OFS/tests/testEtagSupport.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
class TestEtagSupport(unittest.TestCase):

def test_interfaces(self):
from zope.interface.verify import verifyClass
from OFS.EtagSupport import EtagBaseInterface
from OFS.EtagSupport import EtagSupport
from zope.interface.verify import verifyClass

verifyClass(EtagBaseInterface, EtagSupport)
4 changes: 2 additions & 2 deletions src/OFS/tests/testFileAndImage.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,9 +309,9 @@ def test_manage_DAVget_text(self):
self.assertEqual(self.file.manage_DAVget(), text)

def test_interfaces(self):
from zope.interface.verify import verifyClass
from OFS.Image import File
from OFS.interfaces import IWriteLock
from zope.interface.verify import verifyClass
from ZPublisher.HTTPRangeSupport import HTTPRangeInterface

verifyClass(HTTPRangeInterface, File)
Expand Down Expand Up @@ -375,9 +375,9 @@ def testViewImageOrFile(self):
self.assertEqual(result, self.data)

def test_interfaces(self):
from zope.interface.verify import verifyClass
from OFS.Image import Image
from OFS.interfaces import IWriteLock
from zope.interface.verify import verifyClass

verifyClass(IWriteLock, Image)

Expand Down
3 changes: 2 additions & 1 deletion src/OFS/tests/testRanges.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class TestRequestRange(unittest.TestCase):
def setUp(self):
import io
import string

import transaction
from OFS.Application import Application
from OFS.Folder import manage_addFolder
Expand Down Expand Up @@ -168,9 +169,9 @@ def expectSingleRange(self, range, start, end, if_range=None):
self.assertEqual(body, self.data[start:end])

def expectMultipleRanges(self, range, sets, draft=0):
import email
import io
import re
import email
rangeParse = re.compile(r'bytes\s*(\d+)-(\d+)/(\d+)')
req = self.app.REQUEST
rsp = req.RESPONSE
Expand Down
6 changes: 4 additions & 2 deletions src/OFS/tests/testTraverse.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ class ProtectedMethodSecurityPolicy:
"""Check security strictly on bound methods.
"""
def validate(self, accessed, container, name, value, *args):
from Acquisition import aq_base
from AccessControl import Unauthorized
from Acquisition import aq_base
if getattr(aq_base(value), '__self__', None) is None:
return 1

Expand All @@ -65,6 +65,7 @@ class TestTraverse(unittest.TestCase):

def setUp(self):
import io

import transaction
from AccessControl import SecurityManager
from AccessControl.SecurityManagement import newSecurityManager
Expand Down Expand Up @@ -393,9 +394,10 @@ def testDefaultValueWhenUnathorized(self):
self.root.folder1.restrictedTraverse('stuff', 42), 42)

def testNotFoundIsRaised(self):
from operator import getitem

from OFS.SimpleItem import SimpleItem
from zExceptions import NotFound
from operator import getitem
self.folder1._setObject('foo', SimpleItem('foo'))
self.assertRaises(AttributeError, getitem, self.folder1.foo,
'doesntexist')
Expand Down
4 changes: 2 additions & 2 deletions src/OFS/tests/test_DTMLDocument.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)

def test_class_conforms_to_IWriteLock(self):
from zope.interface.verify import verifyClass
from OFS.interfaces import IWriteLock
from zope.interface.verify import verifyClass
verifyClass(IWriteLock, self._getTargetClass())

def test_manage_upload__bytes(self):
Expand Down Expand Up @@ -69,8 +69,8 @@ class FactoryTests(unittest.TestCase):

def test_defaults_no_standard_html_header(self):
# see LP #496961
from OFS.DTMLDocument import addDTMLDocument
from OFS.DTMLDocument import DTMLDocument
from OFS.DTMLDocument import addDTMLDocument
dispatcher = DummyDispatcher()
addDTMLDocument(dispatcher, 'id')
method = dispatcher._set['id']
Expand Down
6 changes: 3 additions & 3 deletions src/OFS/tests/test_DTMLMethod.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@


def _lock_item(item):
from OFS.LockItem import LockItem
from AccessControl.SpecialUsers import nobody
from OFS.LockItem import LockItem
item.wl_setLock('token', LockItem(nobody, token='token'))


Expand All @@ -24,8 +24,8 @@ def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)

def test_class_conforms_to_IWriteLock(self):
from zope.interface.verify import verifyClass
from OFS.interfaces import IWriteLock
from zope.interface.verify import verifyClass
verifyClass(IWriteLock, self._getTargetClass())

def test_edit_taintedstring(self):
Expand Down Expand Up @@ -178,8 +178,8 @@ class FactoryTests(unittest.TestCase):

def test_defaults_no_standard_html_header(self):
# see LP #496961
from OFS.DTMLMethod import addDTMLMethod
from OFS.DTMLMethod import DTMLMethod
from OFS.DTMLMethod import addDTMLMethod
dispatcher = DummyDispatcher()
addDTMLMethod(dispatcher, 'id')
method = dispatcher._set['id']
Expand Down
4 changes: 2 additions & 2 deletions src/OFS/tests/test_Uninstalled.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,10 @@ def test_Broken_instance___getattr___allows_persistence_attrs(self):
class TestsIntegratedBroken(base.TestCase):

def test_Broken_instance___getstate___gives_access_to_its_state(self):
import transaction
from Acquisition import aq_base
from OFS.Uninstalled import BrokenClass
from OFS.tests import test_Uninstalled
import transaction
from OFS.Uninstalled import BrokenClass

# store an instance
tr = ToBreak()
Expand Down
3 changes: 2 additions & 1 deletion src/OFS/tests/test_metaconfigure.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ def setUp(self):
OFS.metaconfigure._meta_type_regs[:] = []

def tearDown(self):
from zope.component.testing import tearDown
import OFS.metaconfigure
from zope.component.testing import tearDown

# restore registrations
OFS.metaconfigure._meta_type_regs[:] = self._old_mt_regs
OFS.metaconfigure._register_monkies[:] = self._old_monkies
Expand Down
2 changes: 1 addition & 1 deletion src/OFS/userfolder.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from AccessControl import ClassSecurityInfo
from AccessControl import userfolder as accesscontrol_userfolder
from AccessControl.class_init import InitializeClass
from AccessControl.Permissions import manage_users as ManageUsers # NOQA
from AccessControl.Permissions import manage_users as ManageUsers
from AccessControl.requestmethod import requestmethod
from AccessControl.rolemanager import DEFAULTMAXLISTUSERS
from AccessControl.users import _remote_user_mode
Expand Down
2 changes: 1 addition & 1 deletion src/Products/Five/browser/adding.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
from zope.component.interfaces import IFactory
from zope.container.constraints import checkFactory
from zope.container.constraints import checkObject
from zope.container.i18n import ZopeMessageFactory as _ # NOQA
from zope.container.i18n import ZopeMessageFactory as _
from zope.container.interfaces import IContainerNamesContainer
from zope.container.interfaces import INameChooser
from zope.event import notify
Expand Down
3 changes: 2 additions & 1 deletion src/Products/Five/browser/tests/test_i18n.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ def test_zpt_i18n():


def test_suite():
from Testing.ZopeTestCase import FunctionalDocTestSuite
import doctest

from Testing.ZopeTestCase import FunctionalDocTestSuite
return FunctionalDocTestSuite(
optionflags=doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE)
12 changes: 6 additions & 6 deletions src/Products/Five/browser/tests/test_pagetemplatefile.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ def test_getId_with_path(self):
self.assertEqual(vptf.id, 'dirpage1.pt')

def test_pt_getEngine(self):
from Products.PageTemplates.Expressions import SecureModuleImporter
from Products.PageTemplates.Expressions import TrustedZopePathExpr
from Products.PageTemplates.Expressions import UnicodeAwareStringExpr
from zope.contentprovider.tales import TALESProviderExpression
from zope.tales.expressions import DeferExpr
from zope.tales.expressions import LazyExpr
from zope.tales.expressions import NotExpr
from zope.tales.pythonexpr import PythonExpr
from zope.contentprovider.tales import TALESProviderExpression
from Products.PageTemplates.Expressions import TrustedZopePathExpr
from Products.PageTemplates.Expressions import SecureModuleImporter
from Products.PageTemplates.Expressions import UnicodeAwareStringExpr

vptf = self._makeOne('seagull.pt')
engine = vptf.pt_getEngine()
Expand All @@ -59,9 +59,9 @@ def test_pt_getEngine(self):
self.assertEqual(engine.base_names['modules'], SecureModuleImporter)

def test_pt_getContext_no_kw_no_physicalRoot(self):
from AccessControl.SecurityManagement import newSecurityManager
from Products.Five.browser.pagetemplatefile import ViewMapper
from Products.PageTemplates.Expressions import SecureModuleImporter
from AccessControl.SecurityManagement import newSecurityManager
newSecurityManager(None, DummyUser('a_user'))
context = DummyContext()
request = DummyRequest()
Expand Down Expand Up @@ -191,8 +191,8 @@ def test___getitem___miss(self):
self.assertRaises(ComponentLookupError, mapper.__getitem__, 'nonesuch')

def test___getitem___hit(self):
from zope.interface import Interface
from zope.component import provideAdapter
from zope.interface import Interface

def _adapt(context, request):
return self
Expand Down
3 changes: 2 additions & 1 deletion src/Products/Five/browser/tests/test_zope3security.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ def test_allowed_interface():


def test_suite():
from Testing.ZopeTestCase import FunctionalDocTestSuite
from doctest import ELLIPSIS

from Testing.ZopeTestCase import FunctionalDocTestSuite
return FunctionalDocTestSuite(optionflags=ELLIPSIS)
40 changes: 20 additions & 20 deletions src/Products/PageTemplates/tests/testExpressions.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,11 +187,11 @@ def test_mixed(self):
ec.evaluate, expr)
# But registering an appropriate IUnicodeEncodingConflictResolver
# should fix it
from Products.PageTemplates.interfaces import \
IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver import \
StrictUnicodeEncodingConflictResolver
from zope.component import provideUtility
from Products.PageTemplates.unicodeconflictresolver \
import StrictUnicodeEncodingConflictResolver
from Products.PageTemplates.interfaces \
import IUnicodeEncodingConflictResolver
provideUtility(StrictUnicodeEncodingConflictResolver,
IUnicodeEncodingConflictResolver)
self.assertEqual(ec.evaluate(expr), 'äüö')
Expand Down Expand Up @@ -241,50 +241,50 @@ def test_list_in_path_expr(self):
class UnicodeEncodingConflictResolverTests(PlacelessSetup, unittest.TestCase):

def testDefaultResolver(self):
from Products.PageTemplates.interfaces import \
IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver import \
DefaultUnicodeEncodingConflictResolver
from zope.component import getUtility
from zope.component import provideUtility
from Products.PageTemplates.interfaces \
import IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver \
import DefaultUnicodeEncodingConflictResolver
provideUtility(DefaultUnicodeEncodingConflictResolver,
IUnicodeEncodingConflictResolver)
resolver = getUtility(IUnicodeEncodingConflictResolver)
self.assertRaises(UnicodeDecodeError,
resolver.resolve, None, b'\xe4\xfc\xf6', None)

def testStrictResolver(self):
from Products.PageTemplates.interfaces import \
IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver import \
StrictUnicodeEncodingConflictResolver
from zope.component import getUtility
from zope.component import provideUtility
from Products.PageTemplates.interfaces \
import IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver \
import StrictUnicodeEncodingConflictResolver
provideUtility(StrictUnicodeEncodingConflictResolver,
IUnicodeEncodingConflictResolver)
resolver = getUtility(IUnicodeEncodingConflictResolver)
text = '\xe4\xfc\xe4'
self.assertEqual(resolver.resolve(None, text, None), text)

def testIgnoringResolver(self):
from Products.PageTemplates.interfaces import \
IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver import \
IgnoringUnicodeEncodingConflictResolver
from zope.component import getUtility
from zope.component import provideUtility
from Products.PageTemplates.interfaces \
import IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver \
import IgnoringUnicodeEncodingConflictResolver
provideUtility(IgnoringUnicodeEncodingConflictResolver,
IUnicodeEncodingConflictResolver)
resolver = getUtility(IUnicodeEncodingConflictResolver)
self.assertEqual(resolver.resolve(None, b'\xe4\xfc\xf6', None), '')

def testReplacingResolver(self):
from Products.PageTemplates.interfaces import \
IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver import \
ReplacingUnicodeEncodingConflictResolver
from zope.component import getUtility
from zope.component import provideUtility
from Products.PageTemplates.interfaces \
import IUnicodeEncodingConflictResolver
from Products.PageTemplates.unicodeconflictresolver \
import ReplacingUnicodeEncodingConflictResolver
provideUtility(ReplacingUnicodeEncodingConflictResolver,
IUnicodeEncodingConflictResolver)
resolver = getUtility(IUnicodeEncodingConflictResolver)
Expand Down

0 comments on commit 48961ab

Please sign in to comment.