From e7849932b1f25ce9a6d3ad272a86237af6707463 Mon Sep 17 00:00:00 2001 From: MrTango Date: Mon, 18 Aug 2025 19:02:31 +0300 Subject: [PATCH 1/6] improve default indexer code --- .../plone/indexer/indexers/+indexer_file_name+.py.bob | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bobtemplates/plone/indexer/indexers/+indexer_file_name+.py.bob b/bobtemplates/plone/indexer/indexers/+indexer_file_name+.py.bob index 69a71c1cd..d2e935707 100644 --- a/bobtemplates/plone/indexer/indexers/+indexer_file_name+.py.bob +++ b/bobtemplates/plone/indexer/indexers/+indexer_file_name+.py.bob @@ -14,4 +14,10 @@ def dummy(obj): @indexer(IDocument) # ADJUST THIS! def {{{ indexer_name }}}(obj): """Calculate and return the value for the indexer""" - return obj.{{{ indexer_name }}} + attribute_value = None + attribute_name = "{{{ indexer_name }}}" + + attribute_value = getattr(obj, attribute_name) + if not attribute_value: + return attribute_value + return attribute_value From 012e1379ffae055ff30513b6e581f6047ff48fa5 Mon Sep 17 00:00:00 2001 From: MrTango Date: Wed, 20 Aug 2025 15:08:02 +0300 Subject: [PATCH 2/6] deactivate plone_addon tests --- bobtemplates/plone/base.py | 2 +- .../{test_addon.py => __test_addon.py} | 0 package_tests/test_base.py | 56 +++++++++---------- tox.ini | 8 +-- 4 files changed, 33 insertions(+), 33 deletions(-) rename package_tests/{test_addon.py => __test_addon.py} (100%) diff --git a/bobtemplates/plone/base.py b/bobtemplates/plone/base.py index 2e65cbada..cd4197758 100644 --- a/bobtemplates/plone/base.py +++ b/bobtemplates/plone/base.py @@ -443,7 +443,7 @@ def setuppy_has_package_dir(configurator): return False -def pyproject_has_package_dir(configurator): +def pyproject_has_package_dir(configurator): # noqa: C901 """ """ package_root_folder = _get_package_root_folder(configurator) os.chdir(package_root_folder) diff --git a/package_tests/test_addon.py b/package_tests/__test_addon.py similarity index 100% rename from package_tests/test_addon.py rename to package_tests/__test_addon.py diff --git a/package_tests/test_base.py b/package_tests/test_base.py index e6e7bfb1c..14d4c19d2 100644 --- a/package_tests/test_base.py +++ b/package_tests/test_base.py @@ -725,34 +725,34 @@ def test_pre_email(): ) base.pre_email(configurator, None) - -def test_post_plone_version(): - configurator = Configurator( - template="bobtemplates.plone:addon", target_directory="collective.foo" - ) - base.post_plone_version(configurator, None, "4.3") - - configurator = Configurator( - template="bobtemplates.plone:addon", target_directory="collective.foo" - ) - base.post_plone_version(configurator, None, "4-latest") - - configurator = Configurator( - template="bobtemplates.plone:addon", target_directory="collective.foo" - ) - base.post_plone_version(configurator, None, "5.1") - - configurator = Configurator( - template="bobtemplates.plone:addon", target_directory="collective.foo" - ) - base.post_plone_version(configurator, None, "5-latest") - - configurator = Configurator( - template="bobtemplates.plone:addon", - target_directory="collective.foo", - variables={"plone.is_plone5": True, "plone.minor_version": "5.0"}, - ) - base.post_plone_version(configurator, None, "5.0.1") +## TODO: prepare needed files without addon template or use copier backend_addon template +# def test_post_plone_version(): +# configurator = Configurator( +# template="bobtemplates.plone:addon", target_directory="collective.foo" +# ) +# base.post_plone_version(configurator, None, "4.3") + +# configurator = Configurator( +# template="bobtemplates.plone:addon", target_directory="collective.foo" +# ) +# base.post_plone_version(configurator, None, "4-latest") + +# configurator = Configurator( +# template="bobtemplates.plone:addon", target_directory="collective.foo" +# ) +# base.post_plone_version(configurator, None, "5.1") + +# configurator = Configurator( +# template="bobtemplates.plone:addon", target_directory="collective.foo" +# ) +# base.post_plone_version(configurator, None, "5-latest") + +# configurator = Configurator( +# template="bobtemplates.plone:addon", +# target_directory="collective.foo", +# variables={"plone.is_plone5": True, "plone.minor_version": "5.0"}, +# ) +# base.post_plone_version(configurator, None, "5.0.1") def test_get_normalized_theme_name(): diff --git a/tox.ini b/tox.ini index e0afe1b30..32f18eff6 100644 --- a/tox.ini +++ b/tox.ini @@ -32,10 +32,10 @@ basepython: commands = mkdir -p {toxinidir}/_build/reports/coverage {toxinidir}/_build/reports/pytest packagetests: pytest --cov=bobtemplates.plone --cov-config=setup.cfg --cov-report=xml --html={toxinidir}/_build/reports/pytest/report-{envname}.html --self-contained-html package_tests {posargs} - template-addon: pytest skeleton-tests/test_addon.py {posargs} - template-addon_all: pytest skeleton-tests/test_addon_all.py {posargs} - template-addon_theme_barceoneta: pytest skeleton-tests/test_addon_theme_barceloneta.py {posargs} - template-addon_mockup_pattern: pytest skeleton-tests/test_addon_mockup_pattern.py {posargs} + # template-addon: pytest skeleton-tests/test_addon.py {posargs} + # template-addon_all: pytest skeleton-tests/test_addon_all.py {posargs} + # template-addon_theme_barceoneta: pytest skeleton-tests/test_addon_theme_barceloneta.py {posargs} + # template-addon_mockup_pattern: pytest skeleton-tests/test_addon_mockup_pattern.py {posargs} setenv = COVERAGE_FILE=.coverage.{envname} From 20633384bf9eba433a96a18f8ed7d0ddd45eb3ba Mon Sep 17 00:00:00 2001 From: MrTango Date: Wed, 20 Aug 2025 15:08:19 +0300 Subject: [PATCH 3/6] readd reg.depend_on = "plone_addon" for sub tempaltes --- bobtemplates/plone/bobregistry.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/bobtemplates/plone/bobregistry.py b/bobtemplates/plone/bobregistry.py index dc4708f3f..b2d26d087 100644 --- a/bobtemplates/plone/bobregistry.py +++ b/bobtemplates/plone/bobregistry.py @@ -25,6 +25,7 @@ def plone_theme(): reg = RegEntry() reg.template = "bobtemplates.plone:theme" reg.plonecli_alias = "theme" + reg.depend_on = "plone_addon" return reg @@ -32,6 +33,7 @@ def plone_theme_barceloneta(): reg = RegEntry() reg.template = "bobtemplates.plone:theme_barceloneta" reg.plonecli_alias = "theme_barceloneta" + reg.depend_on = "plone_addon" return reg @@ -39,6 +41,7 @@ def plone_theme_basic(): reg = RegEntry() reg.template = "bobtemplates.plone:theme_basic" reg.plonecli_alias = "theme_basic" + reg.depend_on = "plone_addon" return reg @@ -46,6 +49,7 @@ def plone_content_type(): reg = RegEntry() reg.template = "bobtemplates.plone:content_type" reg.plonecli_alias = "content_type" + reg.depend_on = "plone_addon" return reg @@ -53,6 +57,7 @@ def plone_view(): reg = RegEntry() reg.template = "bobtemplates.plone:view" reg.plonecli_alias = "view" + reg.depend_on = "plone_addon" return reg @@ -60,6 +65,7 @@ def plone_portlet(): reg = RegEntry() reg.template = "bobtemplates.plone:portlet" reg.plonecli_alias = "portlet" + reg.depend_on = "plone_addon" return reg @@ -67,6 +73,7 @@ def plone_viewlet(): reg = RegEntry() reg.template = "bobtemplates.plone:viewlet" reg.plonecli_alias = "viewlet" + reg.depend_on = "plone_addon" return reg @@ -74,6 +81,7 @@ def plone_vocabulary(): reg = RegEntry() reg.template = "bobtemplates.plone:vocabulary" reg.plonecli_alias = "vocabulary" + reg.depend_on = "plone_addon" return reg @@ -81,6 +89,7 @@ def plone_behavior(): reg = RegEntry() reg.template = "bobtemplates.plone:behavior" reg.plonecli_alias = "behavior" + reg.depend_on = "plone_addon" return reg @@ -88,6 +97,7 @@ def plone_restapi_service(): reg = RegEntry() reg.template = "bobtemplates.plone:restapi_service" reg.plonecli_alias = "restapi_service" + reg.depend_on = "plone_addon" return reg @@ -95,6 +105,7 @@ def plone_svelte_app(): reg = RegEntry() reg.template = "bobtemplates.plone:svelte_app" reg.plonecli_alias = "svelte_app" + reg.depend_on = "plone_addon" return reg @@ -102,6 +113,7 @@ def plone_subscriber(): reg = RegEntry() reg.template = "bobtemplates.plone:subscriber" reg.plonecli_alias = "subscriber" + reg.depend_on = "plone_addon" return reg @@ -109,6 +121,7 @@ def plone_indexer(): reg = RegEntry() reg.template = "bobtemplates.plone:indexer" reg.plonecli_alias = "indexer" + reg.depend_on = "plone_addon" return reg @@ -116,6 +129,7 @@ def plone_upgrade_step(): reg = RegEntry() reg.template = "bobtemplates.plone:upgrade_step" reg.plonecli_alias = "upgrade_step" + reg.depend_on = "plone_addon" return reg @@ -123,6 +137,7 @@ def plone_controlpanel(): reg = RegEntry() reg.template = "bobtemplates.plone:controlpanel" reg.plonecli_alias = "controlpanel" + reg.depend_on = "plone_addon" return reg @@ -130,6 +145,7 @@ def plone_mockup_pattern(): reg = RegEntry() reg.template = "bobtemplates.plone:mockup_pattern" reg.plonecli_alias = "mockup_pattern" + reg.depend_on = "plone_addon" return reg @@ -137,6 +153,7 @@ def plone_form(): reg = RegEntry() reg.template = "bobtemplates.plone:form" reg.plonecli_alias = "form" + reg.depend_on = "plone_addon" return reg @@ -144,4 +161,5 @@ def plone_site_initialization(): reg = RegEntry() reg.template = "bobtemplates.plone:site_initialization" reg.plonecli_alias = "site_initialization" + reg.depend_on = "plone_addon" return reg From 5319db61f6e9ec56aae959c3ebcff73c1e3e311a Mon Sep 17 00:00:00 2001 From: MrTango Date: Wed, 20 Aug 2025 15:09:19 +0300 Subject: [PATCH 4/6] chagelog --- CHANGES.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 03ddec7da..3a8d97c67 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,7 +4,8 @@ Changelog 7.0.0a4 (unreleased) -------------------- -- Nothing changed yet. +- reactivate reg.depend_on = "plone_addon" for sub templates, we need this plonecli + [MrTango] 7.0.0a3 (2025-07-22) From 58acb94a4f90942b71603f68abee2599b3594ca0 Mon Sep 17 00:00:00 2001 From: MrTango Date: Wed, 20 Aug 2025 15:09:27 +0300 Subject: [PATCH 5/6] Preparing release 7.0.0a4 --- CHANGES.rst | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 3a8d97c67..f4c28f976 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,7 +1,7 @@ Changelog ========= -7.0.0a4 (unreleased) +7.0.0a4 (2025-08-20) -------------------- - reactivate reg.depend_on = "plone_addon" for sub templates, we need this plonecli diff --git a/setup.py b/setup.py index 114ea0482..73436c68d 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import find_packages from setuptools import setup -version = "7.0.0a4.dev0" +version = "7.0.0a4" long_description = "\n\n".join([ From 36e5bcb50c63d1ddf98dd88b412b6f42152c6b0f Mon Sep 17 00:00:00 2001 From: MrTango Date: Wed, 20 Aug 2025 15:14:41 +0300 Subject: [PATCH 6/6] Back to development: 7.0.0a5 --- CHANGES.rst | 6 ++++++ setup.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index f4c28f976..911c8eea4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,6 +1,12 @@ Changelog ========= +7.0.0a5 (unreleased) +-------------------- + +- Nothing changed yet. + + 7.0.0a4 (2025-08-20) -------------------- diff --git a/setup.py b/setup.py index 73436c68d..1bf0597a7 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import find_packages from setuptools import setup -version = "7.0.0a4" +version = "7.0.0a5.dev0" long_description = "\n\n".join([