From ccb3de5b356881107b31e9240120df9e2c0f5e0f Mon Sep 17 00:00:00 2001 From: MrTango Date: Mon, 21 Oct 2019 16:15:10 +0200 Subject: [PATCH 1/3] auto increment the version number in metatdata --- bobtemplates/plone/upgrade_step.py | 22 +++++++++++++++++++ package_tests/test_upgrade_step.py | 34 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/bobtemplates/plone/upgrade_step.py b/bobtemplates/plone/upgrade_step.py index b94ce914..46f6cdcf 100644 --- a/bobtemplates/plone/upgrade_step.py +++ b/bobtemplates/plone/upgrade_step.py @@ -77,6 +77,28 @@ def _read_source_version(configurator): return int(match_result[0].text) +def _write_dest_version(configurator): + """Add plone.app.dexterity dependency metadata.xml in Generic Setup profiles.""" # NOQA: E501 + metadata_file_name = u'metadata.xml' + metadata_file_dir = u'profiles/default' + metadata_file_path = configurator.variables['package_folder'] + '/' + \ + metadata_file_dir + '/' + metadata_file_name + + with open(metadata_file_path, 'r') as xml_file: + parser = etree.XMLParser(remove_blank_text=True) + tree = etree.parse(xml_file, parser) + version = tree.xpath('/metadata/version')[0] + version.text = str(configurator.variables["upgrade_step_dest_version"]) + + with open(metadata_file_path, 'wb') as xml_file: + tree.write( + xml_file, + pretty_print=True, + xml_declaration=True, + encoding='utf-8', + ) + + def pre_renderer(configurator): """Pre rendering.""" configurator = base_prepare_renderer(configurator) diff --git a/package_tests/test_upgrade_step.py b/package_tests/test_upgrade_step.py index 6ab40db7..8b8077a6 100644 --- a/package_tests/test_upgrade_step.py +++ b/package_tests/test_upgrade_step.py @@ -134,3 +134,37 @@ def test_read_source_version(tmpdir): ) assert configurator assert upgrade_step._read_source_version(configurator) == 1004 + + +def test_write_dest_version(tmpdir): + package_root = tmpdir.strpath + "/collective.todo" + package_path = init_package_base_structure(package_root) + target_path = os.path.join(package_path, 'profiles/default') + + template = """ + + 1004 + + profile-plone.app.dexterity:default + + +""" + with open(os.path.join(target_path, 'metadata.xml'), 'w') as f: + f.write(template) + configurator = Configurator( + template='bobtemplates.plone:upgrade_step', + target_directory=package_path, + bobconfig={ + 'non_interactive': True, + }, + variables={ + 'plone.version': '5.1', + 'package_folder': package_path, + 'upgrade_step_title': 'Add cool index and reindex it', + 'upgrade_step_dest_version': 1005, + 'upgrade_step_description': 'We add an index and reindex it with existing content.', + }, + ) + assert configurator + upgrade_step._write_dest_version(configurator) + assert upgrade_step._read_source_version(configurator) == 1005 From 42ffa0b00973e65c7f0b8599dfe63d59ab27837c Mon Sep 17 00:00:00 2001 From: MrTango Date: Mon, 21 Oct 2019 16:50:49 +0200 Subject: [PATCH 2/3] activate the write_dest_version method --- bobtemplates/plone/upgrade_step.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bobtemplates/plone/upgrade_step.py b/bobtemplates/plone/upgrade_step.py index 46f6cdcf..e29e176f 100644 --- a/bobtemplates/plone/upgrade_step.py +++ b/bobtemplates/plone/upgrade_step.py @@ -115,6 +115,7 @@ def post_renderer(configurator): """Post rendering.""" _update_package_configure_zcml(configurator) _update_upgrades_configure_zcml(configurator) + _write_dest_version(configurator) _remove_unwanted_files(configurator) git_commit( configurator, From 703df46ae0350a15cd679044ae123d5eacebda8c Mon Sep 17 00:00:00 2001 From: MrTango Date: Mon, 21 Oct 2019 16:52:14 +0200 Subject: [PATCH 3/3] prepare release --- CHANGES.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index c27ad423..c8683903 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,10 +1,11 @@ Changelog ========= -5.0.2 (unreleased) +5.0.2 (2019-10-21) ------------------ -- Nothing changed yet. +- Add auto increment version to upgrade_step sub-template + [MrTango] 5.0.1 (2019-10-18)