diff --git a/.github/workflows/isort.yaml b/.github/workflows/isort.yaml new file mode 100644 index 00000000..039aeb05 --- /dev/null +++ b/.github/workflows/isort.yaml @@ -0,0 +1,10 @@ +name: Run isort +on: + - push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: isort/isort-action@v1 diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 00000000..dbbfee21 --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,3 @@ +[settings] +profile=black +force_single_line = true diff --git a/CHANGES.rst b/CHANGES.rst index 3ccc1fa0..8e2adcd9 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,7 +4,8 @@ Changelog 5.4.1 (unreleased) ------------------ -- Nothing changed yet. +- Isort + [folix-01] 5.4.0 (2023-11-14) @@ -17,7 +18,6 @@ Changelog original rules adding 'Allow: /*?expand*' [lucabel] - 5.3.0 (2023-10-25) ------------------ diff --git a/docs/conf.py b/docs/conf.py index aeab1895..0c999488 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -9,8 +9,8 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/setup.py b/setup.py index f9665e54..853ad612 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,6 @@ from setuptools import find_packages from setuptools import setup - long_description = "\n\n".join( [ open("README.rst").read(), diff --git a/src/redturtle/volto/__init__.py b/src/redturtle/volto/__init__.py index 4768b30c..266d2662 100644 --- a/src/redturtle/volto/__init__.py +++ b/src/redturtle/volto/__init__.py @@ -1,17 +1,17 @@ # -*- coding: utf-8 -*- """Init and utils.""" +import logging +import re + from plone.app.content.browser.vocabulary import PERMISSIONS from plone.folder.nogopip import GopipIndex from plone.restapi.serializer import utils from Products.ZCatalog.Catalog import Catalog -from redturtle.volto.catalogplan import Catalog_sorted_search_indexes from zope.i18nmessageid import MessageFactory from ZTUtils.Lazy import LazyCat from ZTUtils.Lazy import LazyMap -import logging -import re - +from redturtle.volto.catalogplan import Catalog_sorted_search_indexes logger = logging.getLogger(__name__) diff --git a/src/redturtle/volto/adapters/stringinterp.py b/src/redturtle/volto/adapters/stringinterp.py index a4a4e215..b97a007e 100644 --- a/src/redturtle/volto/adapters/stringinterp.py +++ b/src/redturtle/volto/adapters/stringinterp.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- from plone.stringinterp.adapters import BaseSubstitution from Products.CMFCore.interfaces import IContentish -from redturtle.volto import _ from zope.component import adapter +from redturtle.volto import _ try: from plone.stringinterp import _ as stringinterp_mf diff --git a/src/redturtle/volto/browser/controlpanel.py b/src/redturtle/volto/browser/controlpanel.py index e157567e..46d6c97c 100644 --- a/src/redturtle/volto/browser/controlpanel.py +++ b/src/redturtle/volto/browser/controlpanel.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from plone.app.registry.browser.controlpanel import ControlPanelFormWrapper from plone.app.registry.browser.controlpanel import RegistryEditForm + from redturtle.volto import _ from redturtle.volto.interfaces import IRedTurtleVoltoSettings diff --git a/src/redturtle/volto/browser/find_blocks.py b/src/redturtle/volto/browser/find_blocks.py index dec9a452..3627348a 100644 --- a/src/redturtle/volto/browser/find_blocks.py +++ b/src/redturtle/volto/browser/find_blocks.py @@ -1,15 +1,14 @@ # -*- coding: utf-8 -*- -from Acquisition import aq_base +import json +import logging from copy import deepcopy + +from Acquisition import aq_base from plone import api from plone.dexterity.utils import iterSchemata from Products.Five import BrowserView from zope.schema import getFieldsInOrder -import json -import logging - - logger = logging.getLogger(__name__) BLOCKS = [ diff --git a/src/redturtle/volto/browser/fix_links.py b/src/redturtle/volto/browser/fix_links.py index 0b01b2ee..9777a10e 100644 --- a/src/redturtle/volto/browser/fix_links.py +++ b/src/redturtle/volto/browser/fix_links.py @@ -1,4 +1,10 @@ # -*- coding: utf-8 -*- +import json +import logging +import re +from urllib.parse import urlparse +from urllib.parse import urlunparse + from Acquisition import aq_base from plone import api from plone.dexterity.utils import iterSchemata @@ -6,12 +12,6 @@ from Products.Five import BrowserView from zope.component import queryMultiAdapter from zope.schema import getFieldsInOrder -from urllib.parse import urlparse, urlunparse - -import json -import logging -import re - logger = logging.getLogger(__name__) diff --git a/src/redturtle/volto/browser/sitemap.py b/src/redturtle/volto/browser/sitemap.py index 6b26edd1..c451acbb 100644 --- a/src/redturtle/volto/browser/sitemap.py +++ b/src/redturtle/volto/browser/sitemap.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import datetime + from BTrees.OOBTree import OOBTree from plone.app.layout.sitemap.sitemap import SiteMapView as LayoutSiteMapView from plone.registry.interfaces import IRegistry @@ -6,8 +8,6 @@ from Products.CMFPlone.interfaces import IPloneSiteRoot from zope.component import getUtility -import datetime - class SiteMapView(LayoutSiteMapView): def objects(self): diff --git a/src/redturtle/volto/config/__init__.py b/src/redturtle/volto/config/__init__.py index caf3ecbe..34c0cdb6 100644 --- a/src/redturtle/volto/config/__init__.py +++ b/src/redturtle/volto/config/__init__.py @@ -1,4 +1,3 @@ import os - MAX_LIMIT = int(os.environ.get("REDTURTLE_VOLTO_MAX_LIMIT_SEARCH") or 500) diff --git a/src/redturtle/volto/interfaces.py b/src/redturtle/volto/interfaces.py index e495492a..67d27c2c 100644 --- a/src/redturtle/volto/interfaces.py +++ b/src/redturtle/volto/interfaces.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- from plone.restapi.controlpanels.interfaces import IControlpanel -from redturtle.volto import _ from zope.interface import Interface from zope.publisher.interfaces.browser import IDefaultBrowserLayer from zope.schema import Bool +from redturtle.volto import _ + class IRedturtleVoltoLayer(IDefaultBrowserLayer): """Marker interface that defines a browser layer.""" diff --git a/src/redturtle/volto/locales/update.py b/src/redturtle/volto/locales/update.py index a694c489..37421d50 100644 --- a/src/redturtle/volto/locales/update.py +++ b/src/redturtle/volto/locales/update.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- import os -import pkg_resources import subprocess +import pkg_resources domain = "redturtle.volto" os.chdir(pkg_resources.resource_filename(domain, "")) diff --git a/src/redturtle/volto/monkey.py b/src/redturtle/volto/monkey.py index 8ccb51af..d99e16b5 100644 --- a/src/redturtle/volto/monkey.py +++ b/src/redturtle/volto/monkey.py @@ -1,4 +1,7 @@ # -*- coding: utf-8 -*- +import datetime +import os + from Acquisition import aq_base from plone.app.caching import purge from plone.app.event.base import dt_start_of_day @@ -10,9 +13,6 @@ from Products.CMFPlone.interfaces import IConstrainTypes from zope.globalrequest import getRequest -import datetime -import os - def occurrences(self, range_start=None, range_end=None): """Return all occurrences of an event, possibly within a start and end diff --git a/src/redturtle/volto/restapi/deserializer/blocks.py b/src/redturtle/volto/restapi/deserializer/blocks.py index ed19fefa..868c2f4b 100644 --- a/src/redturtle/volto/restapi/deserializer/blocks.py +++ b/src/redturtle/volto/restapi/deserializer/blocks.py @@ -1,13 +1,14 @@ # -*- coding: utf-8 -*- from copy import deepcopy + from plone.restapi.behaviors import IBlocks from plone.restapi.deserializer.blocks import path2uid from plone.restapi.interfaces import IBlockFieldDeserializationTransformer from Products.CMFPlone.interfaces import IPloneSiteRoot -from redturtle.volto.interfaces import IRedturtleVoltoLayer from zope.component import adapter from zope.interface import implementer +from redturtle.volto.interfaces import IRedturtleVoltoLayer EXCLUDE_KEYS = ["@type", "token", "value", "@id", "query"] EXCLUDE_TYPES = ["title", "listing", "calendar", "searchEvents"] diff --git a/src/redturtle/volto/restapi/deserializer/dxfields.py b/src/redturtle/volto/restapi/deserializer/dxfields.py index 9a530198..3750c740 100644 --- a/src/redturtle/volto/restapi/deserializer/dxfields.py +++ b/src/redturtle/volto/restapi/deserializer/dxfields.py @@ -1,4 +1,7 @@ # -*- coding: utf-8 -*- +import dateutil +import lxml +import pytz from plone.app.contenttypes.interfaces import ILink from plone.app.dexterity.behaviors.metadata import IPublication from plone.app.event.base import default_timezone @@ -18,7 +21,6 @@ from Products.CMFPlone.utils import safe_unicode from pytz import timezone from pytz import utc -from redturtle.volto.interfaces import IRedturtleVoltoLayer from z3c.form.interfaces import IDataManager from zope.component import adapter from zope.component import getMultiAdapter @@ -27,9 +29,7 @@ from zope.schema.interfaces import IDatetime from zope.schema.interfaces import ITextLine -import dateutil -import lxml -import pytz +from redturtle.volto.interfaces import IRedturtleVoltoLayer @implementer(IFieldDeserializer) diff --git a/src/redturtle/volto/restapi/search/query.py b/src/redturtle/volto/restapi/search/query.py index 0f6da732..e5646a0e 100644 --- a/src/redturtle/volto/restapi/search/query.py +++ b/src/redturtle/volto/restapi/search/query.py @@ -1,15 +1,16 @@ # -*- coding: utf-8 -*- +import re + from plone.restapi.interfaces import IIndexQueryParser from plone.restapi.search.query import ( ZCTextIndexQueryParser as BaseZCTextIndexQueryParser, ) from Products.ZCTextIndex.ZCTextIndex import ZCTextIndex -from redturtle.volto.interfaces import IRedturtleVoltoLayer from zope.component import adapter -from zope.interface import implementer from zope.interface import Interface +from zope.interface import implementer -import re +from redturtle.volto.interfaces import IRedturtleVoltoLayer @implementer(IIndexQueryParser) diff --git a/src/redturtle/volto/restapi/serializer/blocks.py b/src/redturtle/volto/restapi/serializer/blocks.py index f32fb0a5..ce0b3bc9 100644 --- a/src/redturtle/volto/restapi/serializer/blocks.py +++ b/src/redturtle/volto/restapi/serializer/blocks.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- from copy import deepcopy + from plone import api from plone.restapi.behaviors import IBlocks from plone.restapi.interfaces import IBlockFieldSerializationTransformer from plone.restapi.interfaces import ISerializeToJsonSummary from plone.restapi.serializer.blocks import uid_to_url from Products.CMFPlone.interfaces import IPloneSiteRoot -from redturtle.volto.interfaces import IRedturtleVoltoLayer from zope.component import adapter from zope.component import getMultiAdapter from zope.globalrequest import getRequest from zope.interface import implementer +from redturtle.volto.interfaces import IRedturtleVoltoLayer EXCLUDE_KEYS = ["@type"] EXCLUDE_TYPES = ["title", "listing"] diff --git a/src/redturtle/volto/restapi/serializer/dxfields.py b/src/redturtle/volto/restapi/serializer/dxfields.py index d5f81fe2..1565e8a3 100644 --- a/src/redturtle/volto/restapi/serializer/dxfields.py +++ b/src/redturtle/volto/restapi/serializer/dxfields.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import re + from plone.app.contenttypes.interfaces import ILink from plone.app.contenttypes.utils import replace_link_variables_by_paths from plone.app.dexterity.behaviors.metadata import IPublication @@ -7,14 +9,12 @@ from plone.restapi.serializer.converters import json_compatible from plone.restapi.serializer.dxfields import DefaultFieldSerializer from plone.restapi.serializer.utils import uid_to_url -from redturtle.volto.interfaces import IRedturtleVoltoLayer from zope.component import adapter from zope.interface import implementer from zope.schema.interfaces import IDatetime from zope.schema.interfaces import ITextLine -import re - +from redturtle.volto.interfaces import IRedturtleVoltoLayer RESOLVEUID_RE = re.compile(".*?/resolve[Uu]id/([^/]*)/?(.*)$") diff --git a/src/redturtle/volto/restapi/serializer/summary.py b/src/redturtle/volto/restapi/serializer/summary.py index f1b49bb8..461bbfa3 100644 --- a/src/redturtle/volto/restapi/serializer/summary.py +++ b/src/redturtle/volto/restapi/serializer/summary.py @@ -9,11 +9,11 @@ DefaultJSONSummarySerializer as BaseSerializer, ) from plone.restapi.serializer.utils import uid_to_url -from redturtle.volto.interfaces import IRedturtleVoltoLayer from zope.component import adapter -from zope.interface import implementer from zope.interface import Interface +from zope.interface import implementer +from redturtle.volto.interfaces import IRedturtleVoltoLayer EMPTY_STRINGS = ["None"] diff --git a/src/redturtle/volto/restapi/services/controlpanel.py b/src/redturtle/volto/restapi/services/controlpanel.py index 3606ef6e..47915d6b 100644 --- a/src/redturtle/volto/restapi/services/controlpanel.py +++ b/src/redturtle/volto/restapi/services/controlpanel.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- from plone.restapi.controlpanels import RegistryConfigletPanel -from redturtle.volto.interfaces import IRedTurtleVoltoSettings -from redturtle.volto.interfaces import IRedTurtleVoltoSettingsControlpanel from zope.component import adapter -from zope.interface import implementer from zope.interface import Interface +from zope.interface import implementer + +from redturtle.volto.interfaces import IRedTurtleVoltoSettings +from redturtle.volto.interfaces import IRedTurtleVoltoSettingsControlpanel @adapter(Interface, Interface) diff --git a/src/redturtle/volto/restapi/services/navigation/get.py b/src/redturtle/volto/restapi/services/navigation/get.py index 4490a013..26c85005 100644 --- a/src/redturtle/volto/restapi/services/navigation/get.py +++ b/src/redturtle/volto/restapi/services/navigation/get.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from plone.app.layout.navigation.navtree import buildFolderTree from plone.app.layout.navigation.navtree import NavtreeStrategyBase +from plone.app.layout.navigation.navtree import buildFolderTree from plone.dexterity.interfaces import IDexterityContainer from plone.restapi.interfaces import IExpandableElement from plone.restapi.services import Service from zope.component import adapter -from zope.interface import implementer from zope.interface import Interface +from zope.interface import implementer @implementer(IExpandableElement) diff --git a/src/redturtle/volto/restapi/services/querystringsearch/get.py b/src/redturtle/volto/restapi/services/querystringsearch/get.py index fa1948cc..72cdaf60 100644 --- a/src/redturtle/volto/restapi/services/querystringsearch/get.py +++ b/src/redturtle/volto/restapi/services/querystringsearch/get.py @@ -1,5 +1,8 @@ # -*- coding: utf-8 -*- +import logging from datetime import datetime +from urllib import parse + from DateTime import DateTime from plone import api from plone.app.event.base import get_events @@ -11,17 +14,14 @@ from plone.restapi.interfaces import ISerializeToJson from plone.restapi.interfaces import ISerializeToJsonSummary from plone.restapi.services import Service +from plone.restapi.services.querystringsearch.get import SUPPORT_NOT_UUID_QUERIES from plone.restapi.services.querystringsearch.get import ( QuerystringSearch as BaseQuerystringSearch, ) -from plone.restapi.services.querystringsearch.get import SUPPORT_NOT_UUID_QUERIES -from redturtle.volto.config import MAX_LIMIT -from urllib import parse from zExceptions import BadRequest from zope.component import getMultiAdapter -import logging - +from redturtle.volto.config import MAX_LIMIT logger = logging.getLogger(__name__) diff --git a/src/redturtle/volto/restapi/services/search/get.py b/src/redturtle/volto/restapi/services/search/get.py index 783c210d..302fe42c 100644 --- a/src/redturtle/volto/restapi/services/search/get.py +++ b/src/redturtle/volto/restapi/services/search/get.py @@ -4,11 +4,11 @@ from plone.restapi.search.handler import SearchHandler as OriginalHandler from plone.restapi.search.utils import unflatten_dotted_dict from plone.restapi.services import Service +from zope.component import getMultiAdapter + from redturtle.volto import logger from redturtle.volto.config import MAX_LIMIT from redturtle.volto.interfaces import IRedTurtleVoltoSettings -from zope.component import getMultiAdapter - # search for 'ranking' in 'SearchableText' and rank very high # when the term is in 'Subject' and high when it is in 'Title'. diff --git a/src/redturtle/volto/setuphandlers.py b/src/redturtle/volto/setuphandlers.py index 0137d629..3eff52a6 100644 --- a/src/redturtle/volto/setuphandlers.py +++ b/src/redturtle/volto/setuphandlers.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- +import logging + +from plone import api from Products.CMFPlone.interfaces import INonInstallable from zope.interface import implementer -from plone import api -import logging logger = logging.getLogger(__name__) diff --git a/src/redturtle/volto/testing.py b/src/redturtle/volto/testing.py index 81d9eb91..3422c56e 100644 --- a/src/redturtle/volto/testing.py +++ b/src/redturtle/volto/testing.py @@ -1,18 +1,18 @@ # -*- coding: utf-8 -*- +import collective.volto.cookieconsent +import kitconcept.seo +import plone.app.caching +import plone.restapi +import plone.volto from plone.app.contenttypes.testing import PLONE_APP_CONTENTTYPES_FIXTURE from plone.app.robotframework.testing import REMOTE_LIBRARY_BUNDLE_FIXTURE -from plone.app.testing import applyProfile from plone.app.testing import FunctionalTesting from plone.app.testing import IntegrationTesting from plone.app.testing import PloneSandboxLayer +from plone.app.testing import applyProfile from plone.restapi.testing import PloneRestApiDXLayer from plone.testing import z2 -import collective.volto.cookieconsent -import kitconcept.seo -import plone.app.caching -import plone.restapi -import plone.volto import redturtle.volto diff --git a/src/redturtle/volto/tests/test_advancedsearch.py b/src/redturtle/volto/tests/test_advancedsearch.py index abf58c55..aad4f475 100644 --- a/src/redturtle/volto/tests/test_advancedsearch.py +++ b/src/redturtle/volto/tests/test_advancedsearch.py @@ -1,16 +1,17 @@ # -*- coding: utf-8 -*- +import unittest + from DateTime import DateTime from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.interfaces import IRedTurtleVoltoSettings -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit -import unittest +from redturtle.volto.interfaces import IRedTurtleVoltoSettings +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class BaseTest(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_blocks_searchable_text.py b/src/redturtle/volto/tests/test_blocks_searchable_text.py index cc70a6a8..5033231d 100644 --- a/src/redturtle/volto/tests/test_blocks_searchable_text.py +++ b/src/redturtle/volto/tests/test_blocks_searchable_text.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import TEST_USER_ID -from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING +from plone.app.testing import setRoles from transaction import commit -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING class TestBlocksSearchable(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_blocks_serializer.py b/src/redturtle/volto/tests/test_blocks_serializer.py index 17859ee2..0a890c22 100644 --- a/src/redturtle/volto/tests/test_blocks_serializer.py +++ b/src/redturtle/volto/tests/test_blocks_serializer.py @@ -1,19 +1,20 @@ # -*- coding: utf-8 -*- +import os +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.registry.interfaces import IRegistry from plone.restapi.interfaces import ISerializeToJsonSummary from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit from zope.component import getMultiAdapter from zope.component import getUtility -import os -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestBlocksSerializer(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_catalog_limit_patches.py b/src/redturtle/volto/tests/test_catalog_limit_patches.py index 1ba26966..1127c5ac 100644 --- a/src/redturtle/volto/tests/test_catalog_limit_patches.py +++ b/src/redturtle/volto/tests/test_catalog_limit_patches.py @@ -1,16 +1,17 @@ # -*- coding: utf-8 -*- +import json +import unittest +from urllib.parse import quote + from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit -from urllib.parse import quote -import json -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class CatalogLimitPatches(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_content_types.py b/src/redturtle/volto/tests/test_content_types.py index 9d1f7ed1..470195c8 100644 --- a/src/redturtle/volto/tests/test_content_types.py +++ b/src/redturtle/volto/tests/test_content_types.py @@ -1,16 +1,17 @@ # -*- coding: utf-8 -*- """Setup tests for this package.""" +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession + from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from redturtle.volto.testing import REDTURTLE_VOLTO_INTEGRATION_TESTING -import unittest - class TestContentTypes(unittest.TestCase): layer = REDTURTLE_VOLTO_INTEGRATION_TESTING diff --git a/src/redturtle/volto/tests/test_controlpanel_api.py b/src/redturtle/volto/tests/test_controlpanel_api.py index c2eb3704..2c2fcf2a 100644 --- a/src/redturtle/volto/tests/test_controlpanel_api.py +++ b/src/redturtle/volto/tests/test_controlpanel_api.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- -from plone.app.testing import setRoles +import unittest + from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class ControlpanelTest(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_ct_link.py b/src/redturtle/volto/tests/test_ct_link.py index 5fb981c1..a199e4c5 100644 --- a/src/redturtle/volto/tests/test_ct_link.py +++ b/src/redturtle/volto/tests/test_ct_link.py @@ -1,15 +1,16 @@ # -*- coding: utf-8 -*- """Setup tests for this package.""" +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestContentTypeLink(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_monkeypatches.py b/src/redturtle/volto/tests/test_monkeypatches.py index a10ade03..4cf0264c 100644 --- a/src/redturtle/volto/tests/test_monkeypatches.py +++ b/src/redturtle/volto/tests/test_monkeypatches.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from Products.CMFPlone.interfaces import ISelectableConstrainTypes -from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING class TestRespectLocallyAllowedTypes(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_publication_fields_fixes.py b/src/redturtle/volto/tests/test_publication_fields_fixes.py index 751ce255..40390024 100644 --- a/src/redturtle/volto/tests/test_publication_fields_fixes.py +++ b/src/redturtle/volto/tests/test_publication_fields_fixes.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- +import os +import unittest + from DateTime import DateTime -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.registry.interfaces import IRegistry from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit from zope.component import getUtility -import os -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestPublicationFieldsFixes(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_resolveuid_re_patch.py b/src/redturtle/volto/tests/test_resolveuid_re_patch.py index ec916706..bf9bb417 100644 --- a/src/redturtle/volto/tests/test_resolveuid_re_patch.py +++ b/src/redturtle/volto/tests/test_resolveuid_re_patch.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.serializer.utils import uid_to_url -from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING class TestRESOLVEUIDREPatch(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_service_context_navigation.py b/src/redturtle/volto/tests/test_service_context_navigation.py index 00fd7c60..a7406d5f 100644 --- a/src/redturtle/volto/tests/test_service_context_navigation.py +++ b/src/redturtle/volto/tests/test_service_context_navigation.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- +import unittest + +import transaction from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING -import transaction -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestServicesContextNavigation(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_service_sitemap.py b/src/redturtle/volto/tests/test_service_sitemap.py index 0171dc29..4810a6d2 100644 --- a/src/redturtle/volto/tests/test_service_sitemap.py +++ b/src/redturtle/volto/tests/test_service_sitemap.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestServicesSitemap(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_setup.py b/src/redturtle/volto/tests/test_setup.py index 3db707e9..8ebb38ef 100644 --- a/src/redturtle/volto/tests/test_setup.py +++ b/src/redturtle/volto/tests/test_setup.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- """Setup tests for this package.""" +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import TEST_USER_ID -from redturtle.volto.testing import REDTURTLE_VOLTO_INTEGRATION_TESTING # noqa: E501 - -import unittest +from plone.app.testing import setRoles +from redturtle.volto.testing import REDTURTLE_VOLTO_INTEGRATION_TESTING # noqa: E501 try: from Products.CMFPlone.utils import get_installer @@ -37,6 +37,7 @@ def test_product_installed(self): def test_browserlayer(self): """Test that IRedturtleVoltoLayer is registered.""" from plone.browserlayer import utils + from redturtle.volto.interfaces import IRedturtleVoltoLayer self.assertIn(IRedturtleVoltoLayer, utils.registered_layers()) @@ -79,6 +80,7 @@ def test_product_uninstalled(self): def test_browserlayer_removed(self): """Test that IRedturtleVoltoLayer is removed.""" from plone.browserlayer import utils + from redturtle.volto.interfaces import IRedturtleVoltoLayer self.assertNotIn(IRedturtleVoltoLayer, utils.registered_layers()) diff --git a/src/redturtle/volto/tests/test_site_search.py b/src/redturtle/volto/tests/test_site_search.py index b5f5b718..f06d5f57 100644 --- a/src/redturtle/volto/tests/test_site_search.py +++ b/src/redturtle/volto/tests/test_site_search.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- +import unittest + from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.registry.interfaces import IRegistry from plone.restapi.testing import RelativeSession from Products.CMFPlone.interfaces import ISearchSchema -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING from transaction import commit from zope.component import getUtility -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class SiteSearchTest(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_summary_customization.py b/src/redturtle/volto/tests/test_summary_customization.py index 55e0ec1a..59bdff37 100644 --- a/src/redturtle/volto/tests/test_summary_customization.py +++ b/src/redturtle/volto/tests/test_summary_customization.py @@ -1,16 +1,17 @@ # -*- coding: utf-8 -*- +import os +import unittest + +import transaction from plone import api -from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME from plone.app.testing import SITE_OWNER_PASSWORD from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.namedfile.file import NamedBlobImage from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING -import os -import transaction -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestSummaryCustomization(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_vocabulary_endpoint.py b/src/redturtle/volto/tests/test_vocabulary_endpoint.py index 59634e88..a7825991 100644 --- a/src/redturtle/volto/tests/test_vocabulary_endpoint.py +++ b/src/redturtle/volto/tests/test_vocabulary_endpoint.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- +import unittest + +import transaction from plone import api -from plone.app.testing import setRoles from plone.app.testing import TEST_USER_ID +from plone.app.testing import setRoles from plone.restapi.testing import RelativeSession -from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING -import transaction -import unittest +from redturtle.volto.testing import REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING class TestVocabularyEndpoint(unittest.TestCase): diff --git a/src/redturtle/volto/types/adapters.py b/src/redturtle/volto/types/adapters.py index 286b6a53..d7e53883 100644 --- a/src/redturtle/volto/types/adapters.py +++ b/src/redturtle/volto/types/adapters.py @@ -2,14 +2,15 @@ """JsonSchema providers.""" from plone.restapi.types.adapters import TextLineJsonSchemaProvider as Base from plone.restapi.types.interfaces import IJsonSchemaProvider -from redturtle.volto import _ -from redturtle.volto.interfaces import IRedturtleVoltoLayer from zope.component import adapter from zope.i18n import translate -from zope.interface import implementer from zope.interface import Interface +from zope.interface import implementer from zope.schema.interfaces import ITextLine +from redturtle.volto import _ +from redturtle.volto.interfaces import IRedturtleVoltoLayer + @adapter(ITextLine, Interface, IRedturtleVoltoLayer) @implementer(IJsonSchemaProvider) diff --git a/src/redturtle/volto/upgrades.py b/src/redturtle/volto/upgrades.py index 0858f351..008dc569 100644 --- a/src/redturtle/volto/upgrades.py +++ b/src/redturtle/volto/upgrades.py @@ -1,17 +1,16 @@ # -*- coding: utf-8 -*- -from Acquisition import aq_base +import json +import logging from copy import deepcopy +from uuid import uuid4 + +from Acquisition import aq_base from plone import api from plone.app.upgrade.utils import installOrReinstallProduct from plone.dexterity.utils import iterSchemata from plone.restapi.behaviors import IBlocks -from uuid import uuid4 from zope.schema import getFields -import json -import logging - - try: from collective.volto.blocksfield.field import BlocksField