-
-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[fc] Repository: Products.PortalTransforms
Branch: refs/heads/master Date: 2021-03-26T17:45:12+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/Products.PortalTransforms@4dd5da3 Split method cleaner_options off from scrub_html in safe_html transform. This makes it easier to monkey patch or subclass. Files changed: A news/44.bugfix M Products/PortalTransforms/transforms/safe_html.py Repository: Products.PortalTransforms Branch: refs/heads/master Date: 2021-06-08T14:05:29+02:00 Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> Commit: plone/Products.PortalTransforms@9eed5b1 Merge pull request #44 from plone/maurits/safe-html-transform-split Split method cleaner_options off from scrub_html in safe_html transform. Files changed: A news/44.bugfix M Products/PortalTransforms/transforms/safe_html.py
- Loading branch information
1 parent
b3f5ebd
commit 1a36350
Showing
1 changed file
with
29 additions
and
8 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,15 +1,36 @@ | ||
Repository: plone.restapi | ||
Repository: Products.PortalTransforms | ||
|
||
|
||
Branch: refs/heads/7.x.x | ||
Date: 2021-05-26T20:50:23+02:00 | ||
Author: Timo Stollenwerk (tisto) <stollenwerk@kitconcept.com> | ||
Commit: https://github.com/plone/plone.restapi/commit/506a263abd178358be574b84c3663442d1e44ea4 | ||
Branch: refs/heads/master | ||
Date: 2021-03-26T17:45:12+01:00 | ||
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> | ||
Commit: https://github.com/plone/Products.PortalTransforms/commit/4dd5da31d64e4f58011b87432e8b9fa5de6c0c17 | ||
|
||
Fix changelog | ||
Split method cleaner_options off from scrub_html in safe_html transform. | ||
|
||
This makes it easier to monkey patch or subclass. | ||
|
||
Files changed: | ||
A news/44.bugfix | ||
M Products/PortalTransforms/transforms/safe_html.py | ||
|
||
b'diff --git a/Products/PortalTransforms/transforms/safe_html.py b/Products/PortalTransforms/transforms/safe_html.py\nindex a1adc12..3152bfa 100644\n--- a/Products/PortalTransforms/transforms/safe_html.py\n+++ b/Products/PortalTransforms/transforms/safe_html.py\n@@ -2396,6 +2396,36 @@ def convert(self, orig, data, **kwargs):\n data.setData(safe_html)\n return data\n \n+ def cleaner_options(self):\n+ # Create dictionary of options that we pass to the html cleaner.\n+ registry = getUtility(IRegistry)\n+ self.settings = registry.forInterface(IFilterSchema, prefix="plone")\n+\n+ valid_tags = self.settings.valid_tags\n+ nasty_tags = [t for t in self.settings.nasty_tags if t not in valid_tags]\n+ if six.PY2:\n+ safe_attrs = [attr.decode() for attr in html.defs.safe_attrs]\n+ else:\n+ safe_attrs = [i for i in html.defs.safe_attrs]\n+ safe_attrs.extend(self.settings.custom_attributes)\n+ remove_script = \'script\' in nasty_tags and 1 or 0\n+ options = dict(\n+ kill_tags=nasty_tags,\n+ remove_tags=[],\n+ allow_tags=valid_tags,\n+ page_structure=False,\n+ safe_attrs_only=True,\n+ safe_attrs=safe_attrs,\n+ embedded=False,\n+ remove_unknown_tags=False,\n+ meta=False,\n+ javascript=remove_script,\n+ scripts=remove_script,\n+ forms=False,\n+ style=False,\n+ )\n+ return options\n+\n def scrub_html(self, orig):\n # append html tag to create a dummy parent for the tree\n html_parser = html.HTMLParser(encoding=\'utf-8\')\n@@ -2419,33 +2449,8 @@ def strip_outer(s):\n if hasScript(value):\n del elem.attrib[attrib]\n \n- registry = getUtility(IRegistry)\n- self.settings = registry.forInterface(\n- IFilterSchema, prefix="plone")\n-\n- valid_tags = self.settings.valid_tags\n- nasty_tags = [\n- t for t in self.settings.nasty_tags if t not in valid_tags]\n- if six.PY2:\n- safe_attrs = [attr.decode() for attr in html.defs.safe_attrs]\n- else:\n- safe_attrs = [i for i in html.defs.safe_attrs]\n- safe_attrs.extend(\n- self.settings.custom_attributes)\n- remove_script = \'script\' in nasty_tags and 1 or 0\n- cleaner = Cleaner(kill_tags=nasty_tags,\n- remove_tags=[],\n- allow_tags=valid_tags,\n- page_structure=False,\n- safe_attrs_only=True,\n- safe_attrs=safe_attrs,\n- embedded=False,\n- remove_unknown_tags=False,\n- meta=False,\n- javascript=remove_script,\n- scripts=remove_script,\n- forms=False,\n- style=False)\n+ options = self.cleaner_options()\n+ cleaner = Cleaner(**options)\n try:\n cleaner(tree)\n except AssertionError:\ndiff --git a/news/44.bugfix b/news/44.bugfix\nnew file mode 100644\nindex 0000000..9612f93\n--- /dev/null\n+++ b/news/44.bugfix\n@@ -0,0 +1,3 @@\n+Split method cleaner_options off from scrub_html in safe_html transform.\n+This makes it easier to monkey patch or subclass.\n+[maurits]\n' | ||
|
||
Repository: Products.PortalTransforms | ||
|
||
|
||
Branch: refs/heads/master | ||
Date: 2021-06-08T14:05:29+02:00 | ||
Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> | ||
Commit: https://github.com/plone/Products.PortalTransforms/commit/9eed5b1b43450777fb4f7dc76abf4e99971093bc | ||
|
||
Merge pull request #44 from plone/maurits/safe-html-transform-split | ||
|
||
Split method cleaner_options off from scrub_html in safe_html transform. | ||
|
||
Files changed: | ||
M CHANGES.rst | ||
A news/44.bugfix | ||
M Products/PortalTransforms/transforms/safe_html.py | ||
|
||
b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex a8d0c8558..251a17cb2 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -8,19 +8,14 @@ Changelog\n \n .. towncrier release notes start\n \n-7.3.7 (2021-05-26)\n-------------------\n-\n-No significant changes.\n \n-\n-7.3.6 (2021-05-26)\n+7.3.7 (2021-05-26)\n ------------------\n \n - Re-release 7.3.6 since it was a brown bag release.\n \n \n-7.3.6 (2021-05-26)\n+7.3.6 (unreleased)\n ------------------\n \n Bug fixes:\n' | ||
b'diff --git a/Products/PortalTransforms/transforms/safe_html.py b/Products/PortalTransforms/transforms/safe_html.py\nindex a1adc12..3152bfa 100644\n--- a/Products/PortalTransforms/transforms/safe_html.py\n+++ b/Products/PortalTransforms/transforms/safe_html.py\n@@ -2396,6 +2396,36 @@ def convert(self, orig, data, **kwargs):\n data.setData(safe_html)\n return data\n \n+ def cleaner_options(self):\n+ # Create dictionary of options that we pass to the html cleaner.\n+ registry = getUtility(IRegistry)\n+ self.settings = registry.forInterface(IFilterSchema, prefix="plone")\n+\n+ valid_tags = self.settings.valid_tags\n+ nasty_tags = [t for t in self.settings.nasty_tags if t not in valid_tags]\n+ if six.PY2:\n+ safe_attrs = [attr.decode() for attr in html.defs.safe_attrs]\n+ else:\n+ safe_attrs = [i for i in html.defs.safe_attrs]\n+ safe_attrs.extend(self.settings.custom_attributes)\n+ remove_script = \'script\' in nasty_tags and 1 or 0\n+ options = dict(\n+ kill_tags=nasty_tags,\n+ remove_tags=[],\n+ allow_tags=valid_tags,\n+ page_structure=False,\n+ safe_attrs_only=True,\n+ safe_attrs=safe_attrs,\n+ embedded=False,\n+ remove_unknown_tags=False,\n+ meta=False,\n+ javascript=remove_script,\n+ scripts=remove_script,\n+ forms=False,\n+ style=False,\n+ )\n+ return options\n+\n def scrub_html(self, orig):\n # append html tag to create a dummy parent for the tree\n html_parser = html.HTMLParser(encoding=\'utf-8\')\n@@ -2419,33 +2449,8 @@ def strip_outer(s):\n if hasScript(value):\n del elem.attrib[attrib]\n \n- registry = getUtility(IRegistry)\n- self.settings = registry.forInterface(\n- IFilterSchema, prefix="plone")\n-\n- valid_tags = self.settings.valid_tags\n- nasty_tags = [\n- t for t in self.settings.nasty_tags if t not in valid_tags]\n- if six.PY2:\n- safe_attrs = [attr.decode() for attr in html.defs.safe_attrs]\n- else:\n- safe_attrs = [i for i in html.defs.safe_attrs]\n- safe_attrs.extend(\n- self.settings.custom_attributes)\n- remove_script = \'script\' in nasty_tags and 1 or 0\n- cleaner = Cleaner(kill_tags=nasty_tags,\n- remove_tags=[],\n- allow_tags=valid_tags,\n- page_structure=False,\n- safe_attrs_only=True,\n- safe_attrs=safe_attrs,\n- embedded=False,\n- remove_unknown_tags=False,\n- meta=False,\n- javascript=remove_script,\n- scripts=remove_script,\n- forms=False,\n- style=False)\n+ options = self.cleaner_options()\n+ cleaner = Cleaner(**options)\n try:\n cleaner(tree)\n except AssertionError:\ndiff --git a/news/44.bugfix b/news/44.bugfix\nnew file mode 100644\nindex 0000000..9612f93\n--- /dev/null\n+++ b/news/44.bugfix\n@@ -0,0 +1,3 @@\n+Split method cleaner_options off from scrub_html in safe_html transform.\n+This makes it easier to monkey patch or subclass.\n+[maurits]\n' | ||
|