-
-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[fc] Repository: plone.app.contentmenu
Branch: refs/heads/master Date: 2025-02-28T20:02:34+01:00 Author: Gil Forcada Codinachs (gforcada) <[email protected]> Commit: plone/plone.app.contentmenu@0a3497d fix: replace pkg_resources with importlib See plone/Products.CMFPlone#4126 Files changed: M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2025-02-28T20:02:35+01:00 Author: Gil Forcada Codinachs (gforcada) <[email protected]> Commit: plone/plone.app.contentmenu@eeeec82 Add news entry Files changed: A news/4126.bugfix Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2025-03-01T22:14:11+01:00 Author: Gil Forcada Codinachs (gforcada) <[email protected]> Commit: plone/plone.app.contentmenu@e563170 Merge pull request #75 from plone/4126-replace-pkg-resources Replace pkg_resources Files changed: A news/4126.bugfix M plone/app/contentmenu/menu.py
- Loading branch information
Showing
1 changed file
with
19 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,70 +1,50 @@ | ||
Repository: plone.api | ||
Repository: plone.app.contentmenu | ||
|
||
|
||
Branch: refs/heads/main | ||
Date: 2025-02-28T22:08:58+01:00 | ||
Branch: refs/heads/master | ||
Date: 2025-02-28T20:02:34+01:00 | ||
Author: Gil Forcada Codinachs (gforcada) <[email protected]> | ||
Commit: https://github.com/plone/plone.api/commit/aca634c9f1826b87d77ab4aa896bec6a49b07de6 | ||
Commit: https://github.com/plone/plone.app.contentmenu/commit/0a3497d0847dd19575fbc05fef6c491c7cb884a5 | ||
|
||
fix: replace pkg_resources with importlib | ||
|
||
Files changed: | ||
M src/plone/api/env.py | ||
M src/plone/api/relation.py | ||
M src/plone/api/tests/test_doctests.py | ||
M src/plone/api/tests/test_portal.py | ||
|
||
b'diff --git a/src/plone/api/env.py b/src/plone/api/env.py\nindex 5eb5506a..3d5cee33 100644\n--- a/src/plone/api/env.py\n+++ b/src/plone/api/env.py\n@@ -6,7 +6,7 @@\n from App.config import getConfiguration\n from contextlib import closing\n from contextlib import contextmanager\n-from pkg_resources import get_distribution\n+from importlib.metadata import version\n from plone.api import portal\n from plone.api.exc import InvalidParameterError\n from plone.api.exc import UserNotFoundError\n@@ -222,7 +222,7 @@ def plone_version():\n :returns: string denoting what release of Plone this distribution contains\n :Example: :ref:`env-plone-version-example`\n """\n- return get_distribution("Products.CMFPlone").version\n+ return version("Products.CMFPlone")\n \n \n def zope_version():\n@@ -231,4 +231,4 @@ def zope_version():\n :returns: string denoting what release of Zope2 this distribution contains\n :Example: :ref:`env-zope-version-example`\n """\n- return get_distribution("Zope").version\n+ return version("Zope")\ndiff --git a/src/plone/api/relation.py b/src/plone/api/relation.py\nindex a01f8b9f..10a0fa10 100644\n--- a/src/plone/api/relation.py\n+++ b/src/plone/api/relation.py\n@@ -5,6 +5,8 @@\n \n from AccessControl.SecurityManagement import getSecurityManager\n from collections import defaultdict\n+from importlib.metadata import distribution\n+from importlib.metadata import PackageNotFoundError\n from plone.api.exc import InvalidParameterError\n from plone.api.validation import at_least_one_of\n from plone.api.validation import required_parameters\n@@ -23,12 +25,11 @@\n from zope.lifecycleevent import modified\n \n import logging\n-import pkg_resources\n \n \n try:\n- pkg_resources.get_distribution("plone.app.iterate")\n-except pkg_resources.DistributionNotFound:\n+ distribution("plone.app.iterate")\n+except PackageNotFoundError:\n ITERATE_RELATION_NAME = None\n StagingRelationValue = None\n else:\ndiff --git a/src/plone/api/tests/test_doctests.py b/src/plone/api/tests/test_doctests.py\nindex c7446127..5a94579e 100644\n--- a/src/plone/api/tests/test_doctests.py\n+++ b/src/plone/api/tests/test_doctests.py\n@@ -1,5 +1,7 @@\n """Boilerplate for doctest functional tests."""\n \n+from importlib.metadata import distribution\n+from importlib.metadata import PackageNotFoundError\n from logging import getLogger\n from plone.app.testing import applyProfile\n from plone.app.testing import PLONE_INTEGRATION_TESTING\n@@ -16,7 +18,6 @@\n import manuel.myst.codeblock\n import manuel.testing\n import os\n-import pkg_resources\n import re\n import unittest\n \n@@ -24,11 +25,10 @@\n logger = getLogger(__name__)\n \n try:\n- pkg_resources.get_distribution("plone.app.contenttypes")\n-except pkg_resources.DistributionNotFound:\n- HAS_PA_CONTENTTYPES = False\n-else:\n+ distribution("plone.app.contenttypes")\n HAS_PA_CONTENTTYPES = True\n+except PackageNotFoundError:\n+ HAS_PA_CONTENTTYPES = False\n \n FLAGS = (\n doctest.NORMALIZE_WHITESPACE\ndiff --git a/src/plone/api/tests/test_portal.py b/src/plone/api/tests/test_portal.py\nindex 7d71bd31..a822aab5 100644\n--- a/src/plone/api/tests/test_portal.py\n+++ b/src/plone/api/tests/test_portal.py\n@@ -2,7 +2,7 @@\n \n from datetime import date\n from datetime import datetime\n-from pkg_resources import parse_version\n+from packaging import version\n from plone.api import content\n from plone.api import env\n from plone.api import portal\n@@ -34,7 +34,7 @@\n from email import message_from_string as message_from_bytes\n \n \n-HAS_PLONE5 = parse_version(env.plone_version()) >= parse_version("5.0b2")\n+HAS_PLONE5 = version.parse(env.plone_version()) >= version.parse("5.0b2")\n \n \n class IMyRegistrySettings(Interface):\n' | ||
|
||
Repository: plone.api | ||
|
||
|
||
Branch: refs/heads/main | ||
Date: 2025-02-28T22:14:48+01:00 | ||
Author: Gil Forcada Codinachs (gforcada) <[email protected]> | ||
Commit: https://github.com/plone/plone.api/commit/3707b0b08938877fb0141a7ef1b39e5b6eb40cb6 | ||
|
||
chore: adjust dependencies | ||
See https://github.com/plone/Products.CMFPlone/issues/4126 | ||
|
||
Files changed: | ||
M setup.py | ||
M plone/app/contentmenu/menu.py | ||
|
||
b'diff --git a/setup.py b/setup.py\nindex 206e94a0..ee4ff0e8 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -54,6 +54,7 @@\n "test": [\n "borg.localrole",\n "manuel>=1.11.2",\n+ "packaging",\n "plone.app.contenttypes",\n "plone.app.textfield",\n "plone.app.testing",\n' | ||
b'diff --git a/plone/app/contentmenu/menu.py b/plone/app/contentmenu/menu.py\nindex ce626e4..efeb91b 100644\n--- a/plone/app/contentmenu/menu.py\n+++ b/plone/app/contentmenu/menu.py\n@@ -3,6 +3,8 @@\n from Acquisition import aq_inner\n from Acquisition import aq_parent\n from html import escape\n+from importlib.metadata import distribution\n+from importlib.metadata import PackageNotFoundError\n from operator import itemgetter\n from plone.app.content.browser.folderfactories import _allowedTypes\n from plone.app.contentmenu import PloneMessageFactory as _\n@@ -37,16 +39,15 @@\n from zope.interface import implementer\n \n import json\n-import pkg_resources\n import plone.locking # noqa: F401\n \n \n PMF = _ # used for dynamic messages we don\'t want to extract\n \n try:\n- pkg_resources.get_distribution("Products.CMFPlacefulWorkflow")\n+ distribution("Products.CMFPlacefulWorkflow")\n from Products.CMFPlacefulWorkflow.permissions import ManageWorkflowPolicies\n-except pkg_resources.DistributionNotFound:\n+except PackageNotFoundError:\n from Products.CMFCore.permissions import ManagePortal as ManageWorkflowPolicies\n \n \n' | ||
|
||
Repository: plone.api | ||
Repository: plone.app.contentmenu | ||
|
||
|
||
Branch: refs/heads/main | ||
Date: 2025-02-28T22:14:48+01:00 | ||
Branch: refs/heads/master | ||
Date: 2025-02-28T20:02:35+01:00 | ||
Author: Gil Forcada Codinachs (gforcada) <[email protected]> | ||
Commit: https://github.com/plone/plone.api/commit/50b913c072a84af29007849aacd66b92851d5046 | ||
Commit: https://github.com/plone/plone.app.contentmenu/commit/eeeec82a131c735bc0097f5f9696c7d4f4eb0c7e | ||
|
||
Add news entry | ||
|
||
Files changed: | ||
A news/4126.bugfix | ||
|
||
b'diff --git a/news/4126.bugfix b/news/4126.bugfix\nnew file mode 100644\nindex 00000000..cdd0a8cc\n--- /dev/null\n+++ b/news/4126.bugfix\n@@ -0,0 +1 @@\n+Replace `pkg_resources` with `importlib.metadata` @gforcada\n' | ||
b'diff --git a/news/4126.bugfix b/news/4126.bugfix\nnew file mode 100644\nindex 0000000..cdd0a8c\n--- /dev/null\n+++ b/news/4126.bugfix\n@@ -0,0 +1 @@\n+Replace `pkg_resources` with `importlib.metadata` @gforcada\n' | ||
|
||
Repository: plone.api | ||
Repository: plone.app.contentmenu | ||
|
||
|
||
Branch: refs/heads/main | ||
Date: 2025-03-01T22:13:55+01:00 | ||
Branch: refs/heads/master | ||
Date: 2025-03-01T22:14:11+01:00 | ||
Author: Gil Forcada Codinachs (gforcada) <[email protected]> | ||
Commit: https://github.com/plone/plone.api/commit/74eb9d346a0a38376164004aca1a546362018710 | ||
Commit: https://github.com/plone/plone.app.contentmenu/commit/e56317072966cba80cc26f0c9e498189fd95595a | ||
|
||
Merge pull request #567 from plone/4126-replace-pkg-resources | ||
Merge pull request #75 from plone/4126-replace-pkg-resources | ||
|
||
Replace pkg_resources | ||
|
||
Files changed: | ||
A news/4126.bugfix | ||
M setup.py | ||
M src/plone/api/env.py | ||
M src/plone/api/relation.py | ||
M src/plone/api/tests/test_doctests.py | ||
M src/plone/api/tests/test_portal.py | ||
M plone/app/contentmenu/menu.py | ||
|
||
b'diff --git a/news/4126.bugfix b/news/4126.bugfix\nnew file mode 100644\nindex 00000000..cdd0a8cc\n--- /dev/null\n+++ b/news/4126.bugfix\n@@ -0,0 +1 @@\n+Replace `pkg_resources` with `importlib.metadata` @gforcada\ndiff --git a/setup.py b/setup.py\nindex 206e94a0..ee4ff0e8 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -54,6 +54,7 @@\n "test": [\n "borg.localrole",\n "manuel>=1.11.2",\n+ "packaging",\n "plone.app.contenttypes",\n "plone.app.textfield",\n "plone.app.testing",\ndiff --git a/src/plone/api/env.py b/src/plone/api/env.py\nindex 5eb5506a..3d5cee33 100644\n--- a/src/plone/api/env.py\n+++ b/src/plone/api/env.py\n@@ -6,7 +6,7 @@\n from App.config import getConfiguration\n from contextlib import closing\n from contextlib import contextmanager\n-from pkg_resources import get_distribution\n+from importlib.metadata import version\n from plone.api import portal\n from plone.api.exc import InvalidParameterError\n from plone.api.exc import UserNotFoundError\n@@ -222,7 +222,7 @@ def plone_version():\n :returns: string denoting what release of Plone this distribution contains\n :Example: :ref:`env-plone-version-example`\n """\n- return get_distribution("Products.CMFPlone").version\n+ return version("Products.CMFPlone")\n \n \n def zope_version():\n@@ -231,4 +231,4 @@ def zope_version():\n :returns: string denoting what release of Zope2 this distribution contains\n :Example: :ref:`env-zope-version-example`\n """\n- return get_distribution("Zope").version\n+ return version("Zope")\ndiff --git a/src/plone/api/relation.py b/src/plone/api/relation.py\nindex a01f8b9f..10a0fa10 100644\n--- a/src/plone/api/relation.py\n+++ b/src/plone/api/relation.py\n@@ -5,6 +5,8 @@\n \n from AccessControl.SecurityManagement import getSecurityManager\n from collections import defaultdict\n+from importlib.metadata import distribution\n+from importlib.metadata import PackageNotFoundError\n from plone.api.exc import InvalidParameterError\n from plone.api.validation import at_least_one_of\n from plone.api.validation import required_parameters\n@@ -23,12 +25,11 @@\n from zope.lifecycleevent import modified\n \n import logging\n-import pkg_resources\n \n \n try:\n- pkg_resources.get_distribution("plone.app.iterate")\n-except pkg_resources.DistributionNotFound:\n+ distribution("plone.app.iterate")\n+except PackageNotFoundError:\n ITERATE_RELATION_NAME = None\n StagingRelationValue = None\n else:\ndiff --git a/src/plone/api/tests/test_doctests.py b/src/plone/api/tests/test_doctests.py\nindex c7446127..5a94579e 100644\n--- a/src/plone/api/tests/test_doctests.py\n+++ b/src/plone/api/tests/test_doctests.py\n@@ -1,5 +1,7 @@\n """Boilerplate for doctest functional tests."""\n \n+from importlib.metadata import distribution\n+from importlib.metadata import PackageNotFoundError\n from logging import getLogger\n from plone.app.testing import applyProfile\n from plone.app.testing import PLONE_INTEGRATION_TESTING\n@@ -16,7 +18,6 @@\n import manuel.myst.codeblock\n import manuel.testing\n import os\n-import pkg_resources\n import re\n import unittest\n \n@@ -24,11 +25,10 @@\n logger = getLogger(__name__)\n \n try:\n- pkg_resources.get_distribution("plone.app.contenttypes")\n-except pkg_resources.DistributionNotFound:\n- HAS_PA_CONTENTTYPES = False\n-else:\n+ distribution("plone.app.contenttypes")\n HAS_PA_CONTENTTYPES = True\n+except PackageNotFoundError:\n+ HAS_PA_CONTENTTYPES = False\n \n FLAGS = (\n doctest.NORMALIZE_WHITESPACE\ndiff --git a/src/plone/api/tests/test_portal.py b/src/plone/api/tests/test_portal.py\nindex 7d71bd31..a822aab5 100644\n--- a/src/plone/api/tests/test_portal.py\n+++ b/src/plone/api/tests/test_portal.py\n@@ -2,7 +2,7 @@\n \n from datetime import date\n from datetime import datetime\n-from pkg_resources import parse_version\n+from packaging import version\n from plone.api import content\n from plone.api import env\n from plone.api import portal\n@@ -34,7 +34,7 @@\n from email import message_from_string as message_from_bytes\n \n \n-HAS_PLONE5 = parse_version(env.plone_version()) >= parse_version("5.0b2")\n+HAS_PLONE5 = version.parse(env.plone_version()) >= version.parse("5.0b2")\n \n \n class IMyRegistrySettings(Interface):\n' | ||
b'diff --git a/news/4126.bugfix b/news/4126.bugfix\nnew file mode 100644\nindex 0000000..cdd0a8c\n--- /dev/null\n+++ b/news/4126.bugfix\n@@ -0,0 +1 @@\n+Replace `pkg_resources` with `importlib.metadata` @gforcada\ndiff --git a/plone/app/contentmenu/menu.py b/plone/app/contentmenu/menu.py\nindex ce626e4..efeb91b 100644\n--- a/plone/app/contentmenu/menu.py\n+++ b/plone/app/contentmenu/menu.py\n@@ -3,6 +3,8 @@\n from Acquisition import aq_inner\n from Acquisition import aq_parent\n from html import escape\n+from importlib.metadata import distribution\n+from importlib.metadata import PackageNotFoundError\n from operator import itemgetter\n from plone.app.content.browser.folderfactories import _allowedTypes\n from plone.app.contentmenu import PloneMessageFactory as _\n@@ -37,16 +39,15 @@\n from zope.interface import implementer\n \n import json\n-import pkg_resources\n import plone.locking # noqa: F401\n \n \n PMF = _ # used for dynamic messages we don\'t want to extract\n \n try:\n- pkg_resources.get_distribution("Products.CMFPlacefulWorkflow")\n+ distribution("Products.CMFPlacefulWorkflow")\n from Products.CMFPlacefulWorkflow.permissions import ManageWorkflowPolicies\n-except pkg_resources.DistributionNotFound:\n+except PackageNotFoundError:\n from Products.CMFCore.permissions import ManagePortal as ManageWorkflowPolicies\n \n \n' | ||
|