From 6cce7a168e2dbe85d912dfa8b7829988b6f3c2f7 Mon Sep 17 00:00:00 2001 From: Stanislas Guerra Date: Mon, 5 Feb 2024 13:41:16 +0100 Subject: [PATCH 1/6] Import XML: add a tag option 'clear' in the attribute. + Fix IDMLPackage.structure_xml() : use working copy Story file to be up-to-date. + Story.remove_children() : add an option to keep the style. --- src/simple_idml/components.py | 7 ++++-- src/simple_idml/idml.py | 41 +++++++++++++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/simple_idml/components.py b/src/simple_idml/components.py index 6d24cd3..fe4e18f 100644 --- a/src/simple_idml/components.py +++ b/src/simple_idml/components.py @@ -444,9 +444,12 @@ def remove_element(self, element_id, synchronize=False): if synchronize: self.synchronize() - def remove_children(self, element_id, synchronize=False): + def remove_children(self, element_id, keep_style=False, synchronize=False): elt = self.get_element_by_id(element_id).element - for child in elt.iterchildren(): + + for i, child in enumerate(elt.iterchildren()): + if i == 0 and keep_style and child.tag in ['ParagraphStyleRange', 'CharacterStyleRange']: + continue elt.remove(child) if synchronize: self.synchronize() diff --git a/src/simple_idml/idml.py b/src/simple_idml/idml.py index eb051d2..7f60fe3 100644 --- a/src/simple_idml/idml.py +++ b/src/simple_idml/idml.py @@ -92,12 +92,14 @@ def append_childs(source_node, destination_node): if elt.get("XMLContent"): xml_content_value = elt.get("XMLContent") story_name = f"Stories/Story_{xml_content_value}.xml" - story = Story(self, name=story_name) + story = Story(self, name=story_name, working_copy_path=self.working_copy_path) try: new_source_node = story.get_element_by_id(elt.get("Self")) - # The story does not exists. + # The story does not exists (i.e. for an image). except KeyError: continue + except FileNotFoundError: + continue else: append_childs(new_source_node, new_destination_node) else: @@ -454,9 +456,44 @@ def _import_node(source_node, at=None, element_id=None, story=None, ignoreconten _move_siblings_content(at, element_id) + self._clean_destination(source_node, at) + self.init_lazy_references() _import_node(source_node, at) return self + def _clean_destination(self, source_node, at): + """ Remove content marked for removal before importing XML. """ + + element_id = self.xml_structure.xpath(at)[0].get("Self") + items = dict(source_node.items()) + + content_flags = items.get(SETCONTENT_TAG, "").split(',') + if "clear" in content_flags: + story = self.get_story_object_by_xpath(at) + story.remove_children(element_id, keep_style=True, synchronize=True) + self._xml_structure.xpath(at)[0].clear() + + source_node_children = source_node.getchildren() + if len(source_node_children): + source_node_children_tags = [n.tag for n in source_node_children] + destination_node = self.xml_structure.xpath(at)[0] + destination_node_children = destination_node.iterchildren() + destination_node_children_tags = [n.tag for n in destination_node.iterchildren()] + + if destination_node_children_tags == source_node_children_tags: + for s, d in zip(source_node_children, + [self.xml_structure_tree.getpath(c) for c in destination_node_children]): + self._clean_destination(s, at=d) + + # Step-by-step iteration. + else: + destination_node_child = next(destination_node_children, None) + for source_child in source_node_children: + if destination_node_child is not None and source_child.tag == destination_node_child.tag: + self._clean_destination(source_child, + at=self.xml_structure_tree.getpath(destination_node_child)) + destination_node_child = next(destination_node_children, None) + @use_working_copy def import_pdf(self, pdf_path, at, crop="CropContentVisibleLayers", page_number=1): self.set_attributes(at, {'href': f'{pdf_path}'}) From 033815530dc2c3510da7899761ffb3ccec554af1 Mon Sep 17 00:00:00 2001 From: Stanislas Guerra Date: Mon, 5 Feb 2024 13:42:27 +0100 Subject: [PATCH 2/6] runtests.py : Set as executable. --- tests/runtests.py | 2 ++ 1 file changed, 2 insertions(+) mode change 100644 => 100755 tests/runtests.py diff --git a/tests/runtests.py b/tests/runtests.py old mode 100644 new mode 100755 index 1cd86f8..b75ec65 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + import os import sys import unittest From 6b838b01fe1be0ea808dd70bb6d7b7a74c890f32 Mon Sep 17 00:00:00 2001 From: Stanislas Guerra Date: Mon, 5 Feb 2024 14:17:08 +0100 Subject: [PATCH 3/6] Rename _clean_destination in clear_destination. --- src/simple_idml/idml.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/simple_idml/idml.py b/src/simple_idml/idml.py index 7f60fe3..6f40a19 100644 --- a/src/simple_idml/idml.py +++ b/src/simple_idml/idml.py @@ -456,12 +456,12 @@ def _import_node(source_node, at=None, element_id=None, story=None, ignoreconten _move_siblings_content(at, element_id) - self._clean_destination(source_node, at) + self._clear_destination(source_node, at) self.init_lazy_references() _import_node(source_node, at) return self - def _clean_destination(self, source_node, at): + def _clear_destination(self, source_node, at): """ Remove content marked for removal before importing XML. """ element_id = self.xml_structure.xpath(at)[0].get("Self") @@ -483,14 +483,14 @@ def _clean_destination(self, source_node, at): if destination_node_children_tags == source_node_children_tags: for s, d in zip(source_node_children, [self.xml_structure_tree.getpath(c) for c in destination_node_children]): - self._clean_destination(s, at=d) + self._clear_destination(s, at=d) # Step-by-step iteration. else: destination_node_child = next(destination_node_children, None) for source_child in source_node_children: if destination_node_child is not None and source_child.tag == destination_node_child.tag: - self._clean_destination(source_child, + self._clear_destination(source_child, at=self.xml_structure_tree.getpath(destination_node_child)) destination_node_child = next(destination_node_children, None) From e19abc1c46eaa6b79913523b81fd37620835da1e Mon Sep 17 00:00:00 2001 From: Stanislas Guerra Date: Tue, 19 Mar 2024 15:44:59 +0100 Subject: [PATCH 4/6] Ajout test de regression sur clear_content. --- tests/regressiontests/IDML/interview.idml | Bin 0 -> 65849 bytes tests/regressiontests/XML/interview_en.xml | 22 +++++++++++++++++ tests/regressiontests/idml.py | 27 +++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 tests/regressiontests/IDML/interview.idml create mode 100644 tests/regressiontests/XML/interview_en.xml diff --git a/tests/regressiontests/IDML/interview.idml b/tests/regressiontests/IDML/interview.idml new file mode 100644 index 0000000000000000000000000000000000000000..600641f57e20aea49a6f00e99d92287e3eb2c65b GIT binary patch literal 65849 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 + + + + Pyramid Cabinet + Where people met goods + +
+ Guerra S. Tell us about the history and added value of your agency + Henri D. Our cabinet has been established by my great-great-grand father in the 90's.
+ Which areas do you cover? + H.D. South east of France. +
+
+ Any tactical advantage over your pairs? + Our dedication is top-tier. +
+ « Please, contact us! » + Henri Dupond +
+
+ diff --git a/tests/regressiontests/idml.py b/tests/regressiontests/idml.py index 79fd5c1..a6bf7ce 100644 --- a/tests/regressiontests/idml.py +++ b/tests/regressiontests/idml.py @@ -620,6 +620,33 @@ def test_import_xml_force_content3(self): +""") + + def test_import_xml_clear_content(self): + """Example of an article to be translated using an existing composition. """ + shutil.copy2(os.path.join(IDMLFILES_DIR, "interview.idml"), + os.path.join(OUTPUT_DIR, "interview_origin.idml")) + with IDMLPackage(os.path.join(OUTPUT_DIR, "interview_origin.idml")) as idml_file,\ + open(os.path.join(XML_DIR, "interview_en.xml"), "r") as xml_file: + with idml_file.import_xml(xml_file.read(), at="/Root/dossier") as f: + xml = f.export_xml() + self.assertXMLEqual(xml, +""" + + + + Pyramid Cabinet Where people met goods +
Guerra S. Tell us about the history and added value of your agencyHenri D. Our cabinet has been established by my great-great-grand father in the 90's.

Which areas do you cover?H.D. South east of France.
+
+ Any tactical advantage over your pairs? + Our dedication is top-tier. +
+ « Please, contact us! » + Henri Dupond +
+
+
+
""") def test_import_pdf(self): From 31aaf13dc324c1f9ec8854ebd0ff16ef9695612b Mon Sep 17 00:00:00 2001 From: Stanislas Guerra Date: Mon, 5 Feb 2024 14:18:36 +0100 Subject: [PATCH 5/6] Bump to 1.1.8a3. --- setup.py | 2 +- src/simple_idml/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 3141613..a5aec72 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( name="SimpleIDML", - version="1.1.8a1", + version="1.1.8a3", license='BSD Licence', author='Stanislas Guerra', author_email='stanislas.guerra@gmail.com', diff --git a/src/simple_idml/__init__.py b/src/simple_idml/__init__.py index 3e07a10..e1f8f0b 100644 --- a/src/simple_idml/__init__.py +++ b/src/simple_idml/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -VERSION = "1.1.8a1" +VERSION = "1.1.8a3" IdPkgNS = "http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" BACKINGSTORY = "XML/BackingStory.xml" From 516ddba435ea6e3407cbe844b9d51c9009475592 Mon Sep 17 00:00:00 2001 From: Stanislas Guerra Date: Tue, 19 Mar 2024 16:40:39 +0100 Subject: [PATCH 6/6] README++. --- README.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.rst b/README.rst index da8b049..65eb77f 100644 --- a/README.rst +++ b/README.rst @@ -351,6 +351,8 @@ You can also import XML files into your InDesign® documents. The following rule corresponding element into the idml document **and** its children. - A node having the attribute ``simpleidml-setcontent="delete"`` will remove the corresponding element into the idml document (Story and Spread elements). +- A node having the attribute ``simpleidml-setcontent="clear"`` will clear the text in the + element. - A node having the attribute ``simpleidml-setcontent="remove-previous-br"`` will remove the new-line characters before the element. - You can mix several flags using a comma (i.e.: ``simpleidml-setcontent="delete,remove-previous-br"``) @@ -457,6 +459,11 @@ installed in your PATH. Revisions ========= +1.2.0 +----- + +- Add flag ``simpleidml-setcontent="clear"`` to import XML. + 1.1.8 -----