plone.app.customerize 2.0.1__tar.gz → 2.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/.editorconfig +7 -4
  2. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/.flake8 +1 -1
  3. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/.gitignore +8 -1
  4. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/.meta.toml +2 -2
  5. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/.pre-commit-config.yaml +21 -11
  6. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/CHANGES.rst +18 -0
  7. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/MANIFEST.in +1 -1
  8. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/PKG-INFO +34 -7
  9. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/pyproject.toml +16 -6
  10. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/setup.py +4 -7
  11. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/registrations.pt +8 -12
  12. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/testBrowserLayers.txt +1 -1
  13. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/testCustomizeView.txt +1 -1
  14. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone.app.customerize.egg-info/PKG-INFO +34 -7
  15. plone_app_customerize-2.0.3/src/plone.app.customerize.egg-info/SOURCES.txt +46 -0
  16. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone.app.customerize.egg-info/requires.txt +1 -5
  17. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/tox.ini +100 -39
  18. plone.app.customerize-2.0.1/plone.app.customerize.egg-info/SOURCES.txt +0 -46
  19. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/CONTRIBUTING.rst +0 -0
  20. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/README.rst +0 -0
  21. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/docs/LICENSE.GPL +0 -0
  22. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/docs/LICENSE.txt +0 -0
  23. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3}/setup.cfg +0 -0
  24. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/__init__.py +0 -0
  25. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/__init__.py +0 -0
  26. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/README.txt +0 -0
  27. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/TODO.txt +0 -0
  28. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/__init__.py +0 -0
  29. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/browser.py +0 -0
  30. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/configure.zcml +0 -0
  31. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/customize.pt +0 -0
  32. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/dependencies.zcml +0 -0
  33. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/registration.py +0 -0
  34. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/testing.py +0 -0
  35. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/__init__.py +0 -0
  36. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/duplicate_viewlet.zcml +0 -0
  37. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/interfaces.py +0 -0
  38. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/local.pt +0 -0
  39. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/profiles/testing/viewlets.xml +0 -0
  40. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/standard.pt +0 -0
  41. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/testDocTests.py +0 -0
  42. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/testing.zcml +0 -0
  43. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tests/viewlets.py +0 -0
  44. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tool.gif +0 -0
  45. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone/app/customerize/tool.py +0 -0
  46. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone.app.customerize.egg-info/dependency_links.txt +0 -0
  47. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone.app.customerize.egg-info/namespace_packages.txt +0 -0
  48. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone.app.customerize.egg-info/not-zip-safe +0 -0
  49. {plone.app.customerize-2.0.1 → plone_app_customerize-2.0.3/src}/plone.app.customerize.egg-info/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  #
5
5
  # EditorConfig Configuration file, for more details see:
@@ -13,7 +13,8 @@
13
13
  root = true
14
14
 
15
15
 
16
- [*] # For All Files
16
+ [*]
17
+ # Default settings for all files.
17
18
  # Unix-style newlines with a newline ending every file
18
19
  end_of_line = lf
19
20
  insert_final_newline = true
@@ -29,13 +30,15 @@ max_line_length = off
29
30
  # 4 space indentation
30
31
  indent_size = 4
31
32
 
32
- [*.{yml,zpt,pt,dtml,zcml}]
33
+ [*.{yml,zpt,pt,dtml,zcml,html,xml}]
33
34
  # 2 space indentation
34
35
  indent_size = 2
35
36
 
36
- [*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development
37
+ [*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}]
38
+ # Frontend development
37
39
  # 2 space indentation
38
40
  indent_size = 2
41
+ max_line_length = 80
39
42
 
40
43
  [{Makefile,.gitmodules}]
41
44
  # Tab indentation (no size specified, but view as 4 spaces)
@@ -1,5 +1,5 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  [flake8]
5
5
  doctests = 1
@@ -1,14 +1,18 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  # python related
5
5
  *.egg-info
6
6
  *.pyc
7
7
  *.pyo
8
8
 
9
+ # translation related
10
+ *.mo
11
+
9
12
  # tools related
10
13
  build/
11
14
  .coverage
15
+ .*project
12
16
  coverage.xml
13
17
  dist/
14
18
  docs/_build
@@ -16,6 +20,8 @@ __pycache__/
16
20
  .tox
17
21
  .vscode/
18
22
  node_modules/
23
+ forest.dot
24
+ forest.json
19
25
 
20
26
  # venv / buildout related
21
27
  bin/
@@ -31,6 +37,7 @@ lib64
31
37
  parts/
32
38
  pyvenv.cfg
33
39
  var/
40
+ local.cfg
34
41
 
35
42
  # mxdev
36
43
  /instance/
@@ -1,9 +1,9 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  [meta]
5
5
  template = "default"
6
- commit-id = "cfffba8c"
6
+ commit-id = "2.0.1.dev0"
7
7
 
8
8
  [pre_commit]
9
9
  extra_lines = """
@@ -1,5 +1,5 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  ci:
5
5
  autofix_prs: false
@@ -7,20 +7,20 @@ ci:
7
7
 
8
8
  repos:
9
9
  - repo: https://github.com/asottile/pyupgrade
10
- rev: v3.14.0
10
+ rev: v3.20.0
11
11
  hooks:
12
12
  - id: pyupgrade
13
13
  args: [--py38-plus]
14
14
  - repo: https://github.com/pycqa/isort
15
- rev: 5.12.0
15
+ rev: 6.0.1
16
16
  hooks:
17
17
  - id: isort
18
18
  - repo: https://github.com/psf/black
19
- rev: 23.9.1
19
+ rev: 25.1.0
20
20
  hooks:
21
21
  - id: black
22
22
  - repo: https://github.com/collective/zpretty
23
- rev: 3.1.0
23
+ rev: 3.1.1
24
24
  hooks:
25
25
  - id: zpretty
26
26
 
@@ -32,7 +32,7 @@ repos:
32
32
  # """
33
33
  ##
34
34
  - repo: https://github.com/PyCQA/flake8
35
- rev: 6.1.0
35
+ rev: 7.3.0
36
36
  hooks:
37
37
  - id: flake8
38
38
 
@@ -44,7 +44,7 @@ repos:
44
44
  # """
45
45
  ##
46
46
  - repo: https://github.com/codespell-project/codespell
47
- rev: v2.2.6
47
+ rev: v2.4.1
48
48
  hooks:
49
49
  - id: codespell
50
50
  additional_dependencies:
@@ -58,22 +58,32 @@ repos:
58
58
  # """
59
59
  ##
60
60
  - repo: https://github.com/mgedmin/check-manifest
61
- rev: "0.49"
61
+ rev: "0.50"
62
62
  hooks:
63
63
  - id: check-manifest
64
64
  - repo: https://github.com/regebro/pyroma
65
- rev: "4.2"
65
+ rev: "5.0"
66
66
  hooks:
67
67
  - id: pyroma
68
68
  - repo: https://github.com/mgedmin/check-python-versions
69
- rev: "0.21.2"
69
+ rev: "0.22.1"
70
70
  hooks:
71
71
  - id: check-python-versions
72
72
  args: ['--only', 'setup.py,pyproject.toml']
73
73
  - repo: https://github.com/collective/i18ndude
74
- rev: "6.0.0"
74
+ rev: "6.2.1"
75
75
  hooks:
76
76
  - id: i18ndude
77
+
78
+
79
+ ##
80
+ # Add extra configuration options in .meta.toml:
81
+ # [pre_commit]
82
+ # i18ndude_extra_lines = """
83
+ # _your own configuration lines_
84
+ # """
85
+ ##
86
+
77
87
  exclude: tests/.*pt
78
88
 
79
89
  ##
@@ -9,6 +9,24 @@ Changelog
9
9
 
10
10
  .. towncrier release notes start
11
11
 
12
+ 2.0.3 (2025-09-11)
13
+ ------------------
14
+
15
+ Internal:
16
+
17
+
18
+ - Move distribution to src layout [gforcada] (#4217)
19
+
20
+
21
+ 2.0.2 (2025-01-24)
22
+ ------------------
23
+
24
+ Bug fixes:
25
+
26
+
27
+ - Fix DeprecationWarnings. [maurits] (#4090)
28
+
29
+
12
30
  2.0.1 (2023-10-07)
13
31
  ------------------
14
32
 
@@ -1,7 +1,7 @@
1
1
  include *
2
2
 
3
3
  recursive-include docs *
4
- recursive-include plone *
4
+ recursive-include src *
5
5
 
6
6
  global-exclude *pyc
7
7
  include pyproject.toml
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: plone.app.customerize
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Integrate five.customerize into Plone.
5
5
  Home-page: https://pypi.org/project/plone.app.customerize/
6
6
  Author: Plone Foundation
@@ -30,17 +30,26 @@ Requires-Dist: setuptools
30
30
  Requires-Dist: five.customerize
31
31
  Requires-Dist: plone.browserlayer
32
32
  Requires-Dist: plone.portlets
33
- Requires-Dist: zope.component
34
- Requires-Dist: zope.interface
35
- Requires-Dist: zope.publisher
36
- Requires-Dist: zope.viewlet
37
33
  Requires-Dist: Products.CMFCore
38
- Requires-Dist: Acquisition
34
+ Requires-Dist: Zope
39
35
  Provides-Extra: test
40
36
  Requires-Dist: Products.GenericSetup; extra == "test"
41
37
  Requires-Dist: plone.app.layout; extra == "test"
42
38
  Requires-Dist: plone.app.testing; extra == "test"
43
39
  Requires-Dist: plone.testing; extra == "test"
40
+ Dynamic: author
41
+ Dynamic: author-email
42
+ Dynamic: classifier
43
+ Dynamic: description
44
+ Dynamic: description-content-type
45
+ Dynamic: home-page
46
+ Dynamic: keywords
47
+ Dynamic: license
48
+ Dynamic: platform
49
+ Dynamic: provides-extra
50
+ Dynamic: requires-dist
51
+ Dynamic: requires-python
52
+ Dynamic: summary
44
53
 
45
54
  Overview
46
55
  ========
@@ -65,6 +74,24 @@ Changelog
65
74
 
66
75
  .. towncrier release notes start
67
76
 
77
+ 2.0.3 (2025-09-11)
78
+ ------------------
79
+
80
+ Internal:
81
+
82
+
83
+ - Move distribution to src layout [gforcada] (#4217)
84
+
85
+
86
+ 2.0.2 (2025-01-24)
87
+ ------------------
88
+
89
+ Bug fixes:
90
+
91
+
92
+ - Fix DeprecationWarnings. [maurits] (#4090)
93
+
94
+
68
95
  2.0.1 (2023-10-07)
69
96
  ------------------
70
97
 
@@ -1,6 +1,9 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
+ [build-system]
5
+ requires = ["setuptools>=68.2,<80", "wheel"]
6
+
4
7
  [tool.towncrier]
5
8
  directory = "news/"
6
9
  filename = "CHANGES.rst"
@@ -34,7 +37,7 @@ showcontent = true
34
37
 
35
38
  [[tool.towncrier.type]]
36
39
  directory = "tests"
37
- name = "Tests"
40
+ name = "Tests:"
38
41
  showcontent = true
39
42
 
40
43
  ##
@@ -68,7 +71,7 @@ target-version = ["py38"]
68
71
  ##
69
72
 
70
73
  [tool.codespell]
71
- ignore-words-list = "discreet,"
74
+ ignore-words-list = "discreet,assertin,thet,"
72
75
  skip = "*.po,"
73
76
  ##
74
77
  # Add extra configuration options in .meta.toml:
@@ -116,6 +119,7 @@ Zope = [
116
119
  'Products.CMFCore', 'Products.CMFDynamicViewFTI',
117
120
  ]
118
121
  python-dateutil = ['dateutil']
122
+ pytest-plone = ['pytest', 'zope.pytestlayer', 'plone.testing', 'plone.app.testing']
119
123
 
120
124
  ##
121
125
  # Add extra configuration options in .meta.toml:
@@ -125,19 +129,20 @@ python-dateutil = ['dateutil']
125
129
  # "gitpython = ['git']",
126
130
  # "pygithub = ['github']",
127
131
  # ]
128
- # """
129
132
  ##
130
133
 
131
134
  [tool.check-manifest]
132
135
  ignore = [
133
136
  ".editorconfig",
137
+ ".flake8",
134
138
  ".meta.toml",
135
139
  ".pre-commit-config.yaml",
136
- "tox.ini",
137
- ".flake8",
140
+ "dependabot.yml",
138
141
  "mx.ini",
142
+ "tox.ini",
139
143
 
140
144
  ]
145
+
141
146
  ##
142
147
  # Add extra configuration options in .meta.toml:
143
148
  # [pyproject]
@@ -145,6 +150,11 @@ ignore = [
145
150
  # "*.map.js",
146
151
  # "*.pyc",
147
152
  # """
153
+ # check_manifest_extra_lines = """
154
+ # ignore-bad-ideas = [
155
+ # "some/test/file/PKG-INFO",
156
+ # ]
157
+ # """
148
158
  ##
149
159
 
150
160
 
@@ -3,7 +3,7 @@ from setuptools import find_packages
3
3
  from setuptools import setup
4
4
 
5
5
 
6
- version = "2.0.1"
6
+ version = "2.0.3"
7
7
 
8
8
  long_description = (
9
9
  f"{Path('README.rst').read_text()}\n{Path('CHANGES.rst').read_text()}"
@@ -40,7 +40,8 @@ setup(
40
40
  author_email="plone-developers@lists.sourceforge.net",
41
41
  url="https://pypi.org/project/plone.app.customerize/",
42
42
  license="GPL version 2",
43
- packages=find_packages(),
43
+ packages=find_packages("src"),
44
+ package_dir={"": "src"},
44
45
  namespace_packages=["plone", "plone.app"],
45
46
  include_package_data=True,
46
47
  python_requires=">=3.8",
@@ -57,12 +58,8 @@ setup(
57
58
  "five.customerize",
58
59
  "plone.browserlayer",
59
60
  "plone.portlets",
60
- "zope.component",
61
- "zope.interface",
62
- "zope.publisher",
63
- "zope.viewlet",
64
61
  "Products.CMFCore",
65
- "Acquisition",
62
+ "Zope",
66
63
  ],
67
64
  platforms="Any",
68
65
  zip_safe=False,
@@ -1,7 +1,9 @@
1
1
  <h1 tal:replace="structure context/manage_page_header"></h1>
2
2
  <h1 tal:replace="structure context/manage_tabs"></h1>
3
3
 
4
- <main class="container-fluid">
4
+ <main class="container-fluid"
5
+ i18n:ignore="true"
6
+ >
5
7
 
6
8
  <style type="text/css">
7
9
  dd span.type {
@@ -14,14 +16,13 @@
14
16
 
15
17
  <div class="alert alert-danger"
16
18
  role="alert"
17
- i18n:ignore="true"
18
19
  >
19
20
  ATTENTION: beware using this tool.
20
21
  Errors (e.g.
21
- <code i18n:ignore="true">TypeError</code>,
22
- <code i18n:ignore="true">Unauthorized</code>
22
+ <code>TypeError</code>,
23
+ <code>Unauthorized</code>
23
24
  etc) may popup if some kinds of
24
- <code i18n:ignore="true">python:</code>
25
+ <code>python:</code>
25
26
  expressions are used in the template.
26
27
  This makes it impossible to customize those here (try z3c.jbot or regular zcml overrides instead).
27
28
  The reason is that browser view templates are Chameleon Pagetemplates while items in portal_view_customization are Zope 2 templates.
@@ -29,17 +30,12 @@
29
30
  If that happens just delete the custom copy using the Contents tab above.
30
31
  </div>
31
32
 
32
- <p class="form-help"
33
- i18n:ignore="true"
34
- >
33
+ <p class="form-help">
35
34
  The following list shows all registered (template-based) views
36
35
  sorted by interface. Click one of the links to see the contents
37
36
  of the view template and possibly customize it. Views that already
38
37
  have been customized are
39
- <span class="customized"
40
- i18n:ignore="true"
41
- >highlighted like
42
- this</span>.
38
+ <span class="customized">highlighted like this</span>.
43
39
  </p>
44
40
 
45
41
  <article tal:repeat="iface python:view.getTemplateViewRegistrations(mangle=False)">
@@ -15,7 +15,7 @@ product is installed, we cannot view the view, though:
15
15
  >>> from plone.app.testing import SITE_OWNER_NAME, SITE_OWNER_PASSWORD
16
16
  >>> portal = layer['portal']
17
17
 
18
- >>> from plone.testing.z2 import Browser
18
+ >>> from plone.testing.zope import Browser
19
19
  >>> browser = Browser(layer['app'])
20
20
  >>> browser.handleErrors = False
21
21
  >>> browser.addHeader('Authorization', 'Basic %s:%s' % (
@@ -4,7 +4,7 @@ view via the ZMI:
4
4
  >>> import transaction
5
5
  >>> portal = layer['portal']
6
6
 
7
- >>> from plone.testing.z2 import Browser
7
+ >>> from plone.testing.zope import Browser
8
8
  >>> from plone.app.testing import SITE_OWNER_NAME, SITE_OWNER_PASSWORD
9
9
  >>> browser = Browser(layer['app'])
10
10
  >>> browser.addHeader('Authorization', 'Basic %s:%s' % (
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: plone.app.customerize
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Integrate five.customerize into Plone.
5
5
  Home-page: https://pypi.org/project/plone.app.customerize/
6
6
  Author: Plone Foundation
@@ -30,17 +30,26 @@ Requires-Dist: setuptools
30
30
  Requires-Dist: five.customerize
31
31
  Requires-Dist: plone.browserlayer
32
32
  Requires-Dist: plone.portlets
33
- Requires-Dist: zope.component
34
- Requires-Dist: zope.interface
35
- Requires-Dist: zope.publisher
36
- Requires-Dist: zope.viewlet
37
33
  Requires-Dist: Products.CMFCore
38
- Requires-Dist: Acquisition
34
+ Requires-Dist: Zope
39
35
  Provides-Extra: test
40
36
  Requires-Dist: Products.GenericSetup; extra == "test"
41
37
  Requires-Dist: plone.app.layout; extra == "test"
42
38
  Requires-Dist: plone.app.testing; extra == "test"
43
39
  Requires-Dist: plone.testing; extra == "test"
40
+ Dynamic: author
41
+ Dynamic: author-email
42
+ Dynamic: classifier
43
+ Dynamic: description
44
+ Dynamic: description-content-type
45
+ Dynamic: home-page
46
+ Dynamic: keywords
47
+ Dynamic: license
48
+ Dynamic: platform
49
+ Dynamic: provides-extra
50
+ Dynamic: requires-dist
51
+ Dynamic: requires-python
52
+ Dynamic: summary
44
53
 
45
54
  Overview
46
55
  ========
@@ -65,6 +74,24 @@ Changelog
65
74
 
66
75
  .. towncrier release notes start
67
76
 
77
+ 2.0.3 (2025-09-11)
78
+ ------------------
79
+
80
+ Internal:
81
+
82
+
83
+ - Move distribution to src layout [gforcada] (#4217)
84
+
85
+
86
+ 2.0.2 (2025-01-24)
87
+ ------------------
88
+
89
+ Bug fixes:
90
+
91
+
92
+ - Fix DeprecationWarnings. [maurits] (#4090)
93
+
94
+
68
95
  2.0.1 (2023-10-07)
69
96
  ------------------
70
97
 
@@ -0,0 +1,46 @@
1
+ .editorconfig
2
+ .flake8
3
+ .gitignore
4
+ .meta.toml
5
+ .pre-commit-config.yaml
6
+ CHANGES.rst
7
+ CONTRIBUTING.rst
8
+ MANIFEST.in
9
+ README.rst
10
+ pyproject.toml
11
+ setup.py
12
+ tox.ini
13
+ docs/LICENSE.GPL
14
+ docs/LICENSE.txt
15
+ src/plone/__init__.py
16
+ src/plone.app.customerize.egg-info/PKG-INFO
17
+ src/plone.app.customerize.egg-info/SOURCES.txt
18
+ src/plone.app.customerize.egg-info/dependency_links.txt
19
+ src/plone.app.customerize.egg-info/namespace_packages.txt
20
+ src/plone.app.customerize.egg-info/not-zip-safe
21
+ src/plone.app.customerize.egg-info/requires.txt
22
+ src/plone.app.customerize.egg-info/top_level.txt
23
+ src/plone/app/__init__.py
24
+ src/plone/app/customerize/README.txt
25
+ src/plone/app/customerize/TODO.txt
26
+ src/plone/app/customerize/__init__.py
27
+ src/plone/app/customerize/browser.py
28
+ src/plone/app/customerize/configure.zcml
29
+ src/plone/app/customerize/customize.pt
30
+ src/plone/app/customerize/dependencies.zcml
31
+ src/plone/app/customerize/registration.py
32
+ src/plone/app/customerize/registrations.pt
33
+ src/plone/app/customerize/testing.py
34
+ src/plone/app/customerize/tool.gif
35
+ src/plone/app/customerize/tool.py
36
+ src/plone/app/customerize/tests/__init__.py
37
+ src/plone/app/customerize/tests/duplicate_viewlet.zcml
38
+ src/plone/app/customerize/tests/interfaces.py
39
+ src/plone/app/customerize/tests/local.pt
40
+ src/plone/app/customerize/tests/standard.pt
41
+ src/plone/app/customerize/tests/testBrowserLayers.txt
42
+ src/plone/app/customerize/tests/testCustomizeView.txt
43
+ src/plone/app/customerize/tests/testDocTests.py
44
+ src/plone/app/customerize/tests/testing.zcml
45
+ src/plone/app/customerize/tests/viewlets.py
46
+ src/plone/app/customerize/tests/profiles/testing/viewlets.xml
@@ -2,12 +2,8 @@ setuptools
2
2
  five.customerize
3
3
  plone.browserlayer
4
4
  plone.portlets
5
- zope.component
6
- zope.interface
7
- zope.publisher
8
- zope.viewlet
9
5
  Products.CMFCore
10
- Acquisition
6
+ Zope
11
7
 
12
8
  [test]
13
9
  Products.GenericSetup
@@ -1,5 +1,5 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/src/plone/meta/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  [tox]
5
5
  # We need 4.4.0 for constrain_package_deps.
@@ -7,12 +7,29 @@ min_version = 4.4.0
7
7
  envlist =
8
8
  lint
9
9
  test
10
+ py313-plone62
11
+ py312-plone62
12
+ py311-plone62
13
+ py310-plone62
14
+ py313-plone61
15
+ py312-plone61
16
+ py311-plone61
17
+ py310-plone61
18
+ py313-plone60
19
+ py312-plone60
20
+ py311-plone60
21
+ py310-plone60
22
+ py39-plone60
10
23
  dependencies
11
24
 
12
25
 
13
26
  ##
14
27
  # Add extra configuration options in .meta.toml:
28
+ # - to specify a custom testing combination of Plone and python versions, use `test_matrix`
29
+ # - to specify extra custom environments, use `envlist_lines`
30
+ # - to specify extra `tox` top-level options, use `config_lines`
15
31
  # [tox]
32
+ # test_matrix = {"6.2" = ["3.13", "3.12"], "6.1" = ["3.10", "3.9"]}
16
33
  # envlist_lines = """
17
34
  # my_other_environment
18
35
  # """
@@ -21,16 +38,13 @@ envlist =
21
38
  # """
22
39
  ##
23
40
 
24
- [testenv]
41
+ [testenv:init]
42
+ description = Prepare environment
25
43
  skip_install = true
26
44
  allowlist_externals =
27
45
  echo
28
- false
29
- # Make sure typos like `tox -e formaat` are caught instead of silently doing nothing.
30
- # See https://github.com/tox-dev/tox/issues/2858.
31
46
  commands =
32
- echo "Unrecognized environment name {envname}"
33
- false
47
+ echo "Initial setup complete"
34
48
 
35
49
  [testenv:format]
36
50
  description = automatically reformat code
@@ -56,9 +70,9 @@ description = check if the package defines all its dependencies
56
70
  skip_install = true
57
71
  deps =
58
72
  build
59
- z3c.dependencychecker==2.11
73
+ z3c.dependencychecker==2.14.3
60
74
  commands =
61
- python -m build --sdist --no-isolation
75
+ python -m build --sdist
62
76
  dependencychecker
63
77
 
64
78
  [testenv:dependencies-graph]
@@ -72,8 +86,19 @@ deps =
72
86
  commands =
73
87
  sh -c 'pipdeptree --exclude setuptools,wheel,pipdeptree,zope.interface,zope.component --graph-output svg > dependencies.svg'
74
88
 
75
- [testenv:test]
76
- description = run the distribution tests
89
+
90
+ [test_runner]
91
+ deps = zope.testrunner
92
+ test =
93
+ zope-testrunner --all --test-path={toxinidir}/src -s plone.app.customerize {posargs}
94
+ coverage =
95
+ coverage run --branch --source plone.app.customerize {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir}/src -s plone.app.customerize {posargs}
96
+ coverage report -m --format markdown
97
+ coverage xml
98
+ coverage html
99
+
100
+ [base]
101
+ description = shared configuration for tests and coverage
77
102
  use_develop = true
78
103
  skip_install = false
79
104
  constrain_package_deps = true
@@ -86,20 +111,32 @@ set_env =
86
111
  # test_environment_variables = """
87
112
  # PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/
88
113
  # """
114
+ #
115
+ # Set constrain_package_deps .meta.toml:
116
+ # [tox]
117
+ # constrain_package_deps = false
89
118
  ##
90
119
  deps =
91
- zope.testrunner
92
- -c https://dist.plone.org/release/6.0-dev/constraints.txt
120
+ {[test_runner]deps}
121
+ plone62: -c https://dist.plone.org/release/6.2-dev/constraints.txt
122
+ plone61: -c https://dist.plone.org/release/6.1-dev/constraints.txt
123
+ plone60: -c https://dist.plone.org/release/6.0-dev/constraints.txt
124
+
93
125
  ##
126
+ # Specify additional deps in .meta.toml:
127
+ # [tox]
128
+ # test_deps_additional = """
129
+ # -esources/plonegovbr.portal_base[test]
130
+ # """
131
+ #
94
132
  # Specify a custom constraints file in .meta.toml:
95
133
  # [tox]
96
134
  # constraints_file = "https://my-server.com/constraints.txt"
97
135
  ##
98
- commands =
99
- zope-testrunner --all --test-path={toxinidir} -s plone.app.customerize {posargs}
100
136
  extras =
101
137
  test
102
138
 
139
+
103
140
  ##
104
141
  # Add extra configuration options in .meta.toml:
105
142
  # [tox]
@@ -107,33 +144,52 @@ extras =
107
144
  # tests
108
145
  # widgets
109
146
  # """
147
+ #
148
+ # Add extra configuration options in .meta.toml:
149
+ # [tox]
150
+ # testenv_options = """
151
+ # basepython = /usr/bin/python3.8
152
+ # """
110
153
  ##
111
154
 
155
+ [testenv:test]
156
+ description = run the distribution tests
157
+ use_develop = {[base]use_develop}
158
+ skip_install = {[base]skip_install}
159
+ constrain_package_deps = {[base]constrain_package_deps}
160
+ set_env = {[base]set_env}
161
+ deps =
162
+ {[test_runner]deps}
163
+ -c https://dist.plone.org/release/6.2-dev/constraints.txt
164
+
165
+ commands = {[test_runner]test}
166
+ extras = {[base]extras}
167
+
168
+
169
+ [testenv]
170
+ description = run the distribution tests (generative environments)
171
+ use_develop = {[base]use_develop}
172
+ skip_install = {[base]skip_install}
173
+ constrain_package_deps = {[base]constrain_package_deps}
174
+ set_env = {[base]set_env}
175
+ deps = {[base]deps}
176
+ commands = {[test_runner]test}
177
+ extras = {[base]extras}
178
+
179
+
112
180
  [testenv:coverage]
113
181
  description = get a test coverage report
114
- use_develop = true
115
- skip_install = false
116
- constrain_package_deps = true
117
- set_env =
118
- ROBOT_BROWSER=headlesschrome
119
-
120
- ##
121
- # Specify extra test environment variables in .meta.toml:
122
- # [tox]
123
- # test_environment_variables = """
124
- # PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/
125
- # """
126
- ##
182
+ use_develop = {[base]use_develop}
183
+ skip_install = {[base]skip_install}
184
+ constrain_package_deps = {[base]constrain_package_deps}
185
+ set_env = {[base]set_env}
127
186
  deps =
187
+ {[test_runner]deps}
128
188
  coverage
129
- zope.testrunner
130
- -c https://dist.plone.org/release/6.0-dev/constraints.txt
131
- commands =
132
- coverage run --branch --source plone.app.customerize {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir} -s plone.app.customerize {posargs}
133
- coverage report -m --format markdown
134
- coverage xml
135
- extras =
136
- test
189
+ -c https://dist.plone.org/release/6.2-dev/constraints.txt
190
+
191
+ commands = {[test_runner]coverage}
192
+ extras = {[base]extras}
137
193
 
138
194
 
139
195
  [testenv:release-check]
@@ -143,19 +199,23 @@ deps =
143
199
  twine
144
200
  build
145
201
  towncrier
146
- -c https://dist.plone.org/release/6.0-dev/constraints.txt
202
+ -c https://dist.plone.org/release/6.2-dev/constraints.txt
203
+
147
204
  commands =
148
205
  # fake version to not have to install the package
149
206
  # we build the change log as news entries might break
150
207
  # the README that is displayed on PyPI
151
208
  towncrier build --version=100.0.0 --yes
152
- python -m build --sdist --no-isolation
209
+ python -m build --sdist
153
210
  twine check dist/*
154
211
 
155
212
  [testenv:circular]
156
213
  description = ensure there are no cyclic dependencies
157
214
  use_develop = true
158
215
  skip_install = false
216
+ # Here we must always constrain the package deps to what is already installed,
217
+ # otherwise we simply get the latest from PyPI, which may not work.
218
+ constrain_package_deps = true
159
219
  set_env =
160
220
 
161
221
  ##
@@ -170,7 +230,8 @@ allowlist_externals =
170
230
  deps =
171
231
  pipdeptree
172
232
  pipforester
173
- -c https://dist.plone.org/release/6.0-dev/constraints.txt
233
+ -c https://dist.plone.org/release/6.2-dev/constraints.txt
234
+
174
235
  commands =
175
236
  # Generate the full dependency tree
176
237
  sh -c 'pipdeptree -j > forest.json'
@@ -1,46 +0,0 @@
1
- .editorconfig
2
- .flake8
3
- .gitignore
4
- .meta.toml
5
- .pre-commit-config.yaml
6
- CHANGES.rst
7
- CONTRIBUTING.rst
8
- MANIFEST.in
9
- README.rst
10
- pyproject.toml
11
- setup.py
12
- tox.ini
13
- docs/LICENSE.GPL
14
- docs/LICENSE.txt
15
- plone/__init__.py
16
- plone.app.customerize.egg-info/PKG-INFO
17
- plone.app.customerize.egg-info/SOURCES.txt
18
- plone.app.customerize.egg-info/dependency_links.txt
19
- plone.app.customerize.egg-info/namespace_packages.txt
20
- plone.app.customerize.egg-info/not-zip-safe
21
- plone.app.customerize.egg-info/requires.txt
22
- plone.app.customerize.egg-info/top_level.txt
23
- plone/app/__init__.py
24
- plone/app/customerize/README.txt
25
- plone/app/customerize/TODO.txt
26
- plone/app/customerize/__init__.py
27
- plone/app/customerize/browser.py
28
- plone/app/customerize/configure.zcml
29
- plone/app/customerize/customize.pt
30
- plone/app/customerize/dependencies.zcml
31
- plone/app/customerize/registration.py
32
- plone/app/customerize/registrations.pt
33
- plone/app/customerize/testing.py
34
- plone/app/customerize/tool.gif
35
- plone/app/customerize/tool.py
36
- plone/app/customerize/tests/__init__.py
37
- plone/app/customerize/tests/duplicate_viewlet.zcml
38
- plone/app/customerize/tests/interfaces.py
39
- plone/app/customerize/tests/local.pt
40
- plone/app/customerize/tests/standard.pt
41
- plone/app/customerize/tests/testBrowserLayers.txt
42
- plone/app/customerize/tests/testCustomizeView.txt
43
- plone/app/customerize/tests/testDocTests.py
44
- plone/app/customerize/tests/testing.zcml
45
- plone/app/customerize/tests/viewlets.py
46
- plone/app/customerize/tests/profiles/testing/viewlets.xml