From dd8e1a12d9b8db6872ccb84f4137cf0f492bebb5 Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 9 Oct 2023 14:30:20 +0200 Subject: [PATCH] Isort + config --- .github/workflows/isort.yaml | 14 +++++++++++++ .isort.cfg | 2 ++ src/redturtle/volto/__init__.py | 11 +++++----- src/redturtle/volto/adapters/stringinterp.py | 2 +- src/redturtle/volto/browser/controlpanel.py | 7 +++++-- src/redturtle/volto/browser/find_blocks.py | 9 ++++----- src/redturtle/volto/browser/fix_links.py | 9 ++++----- src/redturtle/volto/browser/sitemap.py | 4 ++-- src/redturtle/volto/config/__init__.py | 1 - src/redturtle/volto/interfaces.py | 3 ++- src/redturtle/volto/locales/update.py | 2 +- src/redturtle/volto/monkey.py | 4 ++-- .../volto/restapi/deserializer/blocks.py | 3 ++- .../volto/restapi/deserializer/dxfields.py | 18 +++++++---------- src/redturtle/volto/restapi/search/query.py | 8 ++++---- .../volto/restapi/serializer/blocks.py | 12 ++++++----- .../volto/restapi/serializer/dxfields.py | 9 ++++----- .../volto/restapi/serializer/summary.py | 5 ++--- .../volto/restapi/services/controlpanel.py | 10 ++++++---- .../volto/restapi/services/navigation/get.py | 6 ++---- .../restapi/services/querystringsearch/get.py | 11 +++++----- .../volto/restapi/services/search/get.py | 10 +++------- src/redturtle/volto/testing.py | 20 ++++++++++--------- .../volto/tests/test_advancedsearch.py | 17 +++++++++------- .../tests/test_blocks_searchable_text.py | 8 ++++---- .../volto/tests/test_blocks_serializer.py | 20 ++++++++++--------- .../volto/tests/test_catalog_limit_patches.py | 19 ++++++++++-------- .../volto/tests/test_content_types.py | 19 +++++++++++------- .../volto/tests/test_controlpanel_api.py | 15 ++++++++------ src/redturtle/volto/tests/test_ct_link.py | 15 ++++++++------ .../volto/tests/test_monkeypatches.py | 8 ++++---- .../tests/test_publication_fields_fixes.py | 17 +++++++++------- .../volto/tests/test_resolveuid_re_patch.py | 8 ++++---- .../tests/test_service_context_navigation.py | 17 +++++++++------- .../volto/tests/test_service_sitemap.py | 15 ++++++++------ src/redturtle/volto/tests/test_setup.py | 11 +++++----- src/redturtle/volto/tests/test_site_search.py | 15 ++++++++------ .../volto/tests/test_summary_customization.py | 19 ++++++++++-------- .../volto/tests/test_vocabulary_endpoint.py | 10 +++++----- src/redturtle/volto/types/adapters.py | 8 ++++---- src/redturtle/volto/upgrades.py | 11 +++++----- 41 files changed, 238 insertions(+), 194 deletions(-) create mode 100644 .github/workflows/isort.yaml create mode 100644 .isort.cfg diff --git a/.github/workflows/isort.yaml b/.github/workflows/isort.yaml new file mode 100644 index 0000000..0b8086c --- /dev/null +++ b/.github/workflows/isort.yaml @@ -0,0 +1,14 @@ +name: Isort +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - uses: isort/isort-action@master + with: + configuration: --profile black diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 0000000..b9fb3f3 --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,2 @@ +[settings] +profile=black diff --git a/src/redturtle/volto/__init__.py b/src/redturtle/volto/__init__.py index 4768b30..4db31ea 100644 --- a/src/redturtle/volto/__init__.py +++ b/src/redturtle/volto/__init__.py @@ -1,17 +1,16 @@ # -*- 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 ZTUtils.Lazy import LazyCat, LazyMap +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 a4a4e21..b97a007 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 e157567..0414c1a 100644 --- a/src/redturtle/volto/browser/controlpanel.py +++ b/src/redturtle/volto/browser/controlpanel.py @@ -1,6 +1,9 @@ # -*- coding: utf-8 -*- -from plone.app.registry.browser.controlpanel import ControlPanelFormWrapper -from plone.app.registry.browser.controlpanel import RegistryEditForm +from plone.app.registry.browser.controlpanel import ( + ControlPanelFormWrapper, + 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 dec9a45..3627348 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 0ced9f9..8b4ec60 100644 --- a/src/redturtle/volto/browser/fix_links.py +++ b/src/redturtle/volto/browser/fix_links.py @@ -1,4 +1,8 @@ # -*- coding: utf-8 -*- +import json +import logging +import re + from Acquisition import aq_base from plone import api from plone.dexterity.utils import iterSchemata @@ -7,11 +11,6 @@ from zope.component import queryMultiAdapter from zope.schema import getFieldsInOrder -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 6b26edd..c451acb 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 caf3ecb..34c0cdb 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 e495492..67d27c2 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 a694c48..37421d5 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 e17dc6c..00be205 100644 --- a/src/redturtle/volto/monkey.py +++ b/src/redturtle/volto/monkey.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import datetime + from Acquisition import aq_base from plone.app.caching import purge from plone.app.event.base import dt_start_of_day @@ -10,8 +12,6 @@ from Products.CMFPlone.interfaces import IConstrainTypes from zope.globalrequest import getRequest -import datetime - 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 ed19fef..868c2f4 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 9a53019..c0bd893 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 @@ -16,20 +19,13 @@ ) from plone.restapi.interfaces import IFieldDeserializer from Products.CMFPlone.utils import safe_unicode -from pytz import timezone -from pytz import utc -from redturtle.volto.interfaces import IRedturtleVoltoLayer +from pytz import timezone, utc from z3c.form.interfaces import IDataManager -from zope.component import adapter -from zope.component import getMultiAdapter -from zope.component import queryMultiAdapter +from zope.component import adapter, getMultiAdapter, queryMultiAdapter from zope.interface import implementer -from zope.schema.interfaces import IDatetime -from zope.schema.interfaces import ITextLine +from zope.schema.interfaces import IDatetime, 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 0f6da73..4330de0 100644 --- a/src/redturtle/volto/restapi/search/query.py +++ b/src/redturtle/volto/restapi/search/query.py @@ -1,15 +1,15 @@ # -*- 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 Interface, 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 f32fb0a..99e3eda 100644 --- a/src/redturtle/volto/restapi/serializer/blocks.py +++ b/src/redturtle/volto/restapi/serializer/blocks.py @@ -1,17 +1,19 @@ # -*- 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.interfaces import ( + IBlockFieldSerializationTransformer, + 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.component import adapter, 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 d5f81fe..8a6c645 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,11 @@ 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 zope.schema.interfaces import IDatetime, ITextLine +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 f1b49bb..f40a268 100644 --- a/src/redturtle/volto/restapi/serializer/summary.py +++ b/src/redturtle/volto/restapi/serializer/summary.py @@ -9,11 +9,10 @@ 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 Interface, 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 3606ef6..ca31243 100644 --- a/src/redturtle/volto/restapi/services/controlpanel.py +++ b/src/redturtle/volto/restapi/services/controlpanel.py @@ -1,10 +1,12 @@ # -*- 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 Interface, implementer + +from redturtle.volto.interfaces import ( + IRedTurtleVoltoSettings, + 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 4490a01..8c57120 100644 --- a/src/redturtle/volto/restapi/services/navigation/get.py +++ b/src/redturtle/volto/restapi/services/navigation/get.py @@ -1,12 +1,10 @@ # -*- 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 NavtreeStrategyBase, 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 Interface, implementer @implementer(IExpandableElement) diff --git a/src/redturtle/volto/restapi/services/querystringsearch/get.py b/src/redturtle/volto/restapi/services/querystringsearch/get.py index ac5166e..05e0b15 100644 --- a/src/redturtle/volto/restapi/services/querystringsearch/get.py +++ b/src/redturtle/volto/restapi/services/querystringsearch/get.py @@ -1,24 +1,23 @@ # -*- coding: utf-8 -*- +import logging from datetime import datetime +from urllib import parse + from DateTime import DateTime from plone.app.event.base import get_events from plone.app.querystring import queryparser from plone.restapi.batching import HypermediaBatch from plone.restapi.deserializer import json_body from plone.restapi.exceptions import DeserializationError -from plone.restapi.interfaces import ISerializeToJson -from plone.restapi.interfaces import ISerializeToJsonSummary +from plone.restapi.interfaces import ISerializeToJson, ISerializeToJsonSummary from plone.restapi.services import Service from plone.restapi.services.querystringsearch.get import ( QuerystringSearch as BaseQuerystringSearch, ) -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 780d584..0081342 100644 --- a/src/redturtle/volto/restapi/services/search/get.py +++ b/src/redturtle/volto/restapi/services/search/get.py @@ -4,21 +4,17 @@ 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'. # print the id and the normalized rank try: - from Products.AdvancedQuery import And - from Products.AdvancedQuery import Eq - from Products.AdvancedQuery import In - from Products.AdvancedQuery import Or - from Products.AdvancedQuery import RankByQueries_Sum + from Products.AdvancedQuery import And, Eq, In, Or, RankByQueries_Sum HAS_ADVANCEDQUERY = True except ImportError: diff --git a/src/redturtle/volto/testing.py b/src/redturtle/volto/testing.py index 81d9eb9..0ab6914 100644 --- a/src/redturtle/volto/testing.py +++ b/src/redturtle/volto/testing.py @@ -1,18 +1,20 @@ # -*- coding: utf-8 -*- -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.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 +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 ( + FunctionalTesting, + IntegrationTesting, + PloneSandboxLayer, + applyProfile, +) +from plone.restapi.testing import PloneRestApiDXLayer +from plone.testing import z2 + import redturtle.volto diff --git a/src/redturtle/volto/tests/test_advancedsearch.py b/src/redturtle/volto/tests/test_advancedsearch.py index abf58c5..284c4a4 100644 --- a/src/redturtle/volto/tests/test_advancedsearch.py +++ b/src/redturtle/volto/tests/test_advancedsearch.py @@ -1,16 +1,19 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 cc70a6a..767bfbe 100644 --- a/src/redturtle/volto/tests/test_blocks_searchable_text.py +++ b/src/redturtle/volto/tests/test_blocks_searchable_text.py @@ -1,11 +1,11 @@ # -*- 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 TEST_USER_ID, 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 17859ee..31ce5e4 100644 --- a/src/redturtle/volto/tests/test_blocks_serializer.py +++ b/src/redturtle/volto/tests/test_blocks_serializer.py @@ -1,19 +1,21 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 +from zope.component import getMultiAdapter, 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 872e357..74ed354 100644 --- a/src/redturtle/volto/tests/test_catalog_limit_patches.py +++ b/src/redturtle/volto/tests/test_catalog_limit_patches.py @@ -1,16 +1,19 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 9d1f7ed..ccb923e 100644 --- a/src/redturtle/volto/tests/test_content_types.py +++ b/src/redturtle/volto/tests/test_content_types.py @@ -1,15 +1,20 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 +from redturtle.volto.testing import ( + REDTURTLE_VOLTO_API_FUNCTIONAL_TESTING, + REDTURTLE_VOLTO_INTEGRATION_TESTING, +) class TestContentTypes(unittest.TestCase): diff --git a/src/redturtle/volto/tests/test_controlpanel_api.py b/src/redturtle/volto/tests/test_controlpanel_api.py index c2eb370..75a60fe 100644 --- a/src/redturtle/volto/tests/test_controlpanel_api.py +++ b/src/redturtle/volto/tests/test_controlpanel_api.py @@ -1,12 +1,15 @@ # -*- coding: utf-8 -*- -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 +import unittest + +from plone.app.testing import ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 5fb981c..0f73302 100644 --- a/src/redturtle/volto/tests/test_ct_link.py +++ b/src/redturtle/volto/tests/test_ct_link.py @@ -1,15 +1,18 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 a10ade0..0b1df75 100644 --- a/src/redturtle/volto/tests/test_monkeypatches.py +++ b/src/redturtle/volto/tests/test_monkeypatches.py @@ -1,11 +1,11 @@ # -*- 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 TEST_USER_ID, 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 751ce25..4c655b2 100644 --- a/src/redturtle/volto/tests/test_publication_fields_fixes.py +++ b/src/redturtle/volto/tests/test_publication_fields_fixes.py @@ -1,17 +1,20 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 ec91670..ffd28bd 100644 --- a/src/redturtle/volto/tests/test_resolveuid_re_patch.py +++ b/src/redturtle/volto/tests/test_resolveuid_re_patch.py @@ -1,11 +1,11 @@ # -*- 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 TEST_USER_ID, 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 00fd7c6..32215ab 100644 --- a/src/redturtle/volto/tests/test_service_context_navigation.py +++ b/src/redturtle/volto/tests/test_service_context_navigation.py @@ -1,14 +1,17 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 0171dc2..d93fd69 100644 --- a/src/redturtle/volto/tests/test_service_sitemap.py +++ b/src/redturtle/volto/tests/test_service_sitemap.py @@ -1,14 +1,17 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 3db707e..0742bed 100644 --- a/src/redturtle/volto/tests/test_setup.py +++ b/src/redturtle/volto/tests/test_setup.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- """Setup tests for this package.""" -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 import api +from plone.app.testing import TEST_USER_ID, setRoles + +from redturtle.volto.testing import REDTURTLE_VOLTO_INTEGRATION_TESTING # noqa: E501 try: from Products.CMFPlone.utils import get_installer @@ -37,6 +36,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 +79,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 b5f5b71..666da78 100644 --- a/src/redturtle/volto/tests/test_site_search.py +++ b/src/redturtle/volto/tests/test_site_search.py @@ -1,17 +1,20 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 55e0ec1..f6533df 100644 --- a/src/redturtle/volto/tests/test_summary_customization.py +++ b/src/redturtle/volto/tests/test_summary_customization.py @@ -1,16 +1,19 @@ # -*- 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 ( + SITE_OWNER_NAME, + SITE_OWNER_PASSWORD, + TEST_USER_ID, + 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 59634e8..d80cfed 100644 --- a/src/redturtle/volto/tests/test_vocabulary_endpoint.py +++ b/src/redturtle/volto/tests/test_vocabulary_endpoint.py @@ -1,12 +1,12 @@ # -*- 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 TEST_USER_ID, 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 286b6a5..42e417e 100644 --- a/src/redturtle/volto/types/adapters.py +++ b/src/redturtle/volto/types/adapters.py @@ -2,14 +2,14 @@ """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 Interface, 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 0858f35..008dc56 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