# HG changeset patch # User Goffi # Date 1627933937 -7200 # Node ID f568f304c9827640e005679aa7740acc088c14f5 # Parent 32181a45d54b725bbc3550ddb4241fc2622cf096 plugin text syntaxes: remove side effect on init: When text syntaxes was initialised, `syntaxes` dict was filled, but it was a class attribute. As a result, re-initialising it (which may happen for tests, and maybe in the future dynamically), was not starting with an empty dict, but with an already-filled one, resulting in conflicts. This patch fixes it by moving `syntaxes` to an instance attribute. diff -r 32181a45d54b -r f568f304c982 sat/plugins/plugin_misc_text_syntaxes.py --- a/sat/plugins/plugin_misc_text_syntaxes.py Mon Aug 02 21:52:17 2021 +0200 +++ b/sat/plugins/plugin_misc_text_syntaxes.py Mon Aug 02 21:52:17 2021 +0200 @@ -156,33 +156,35 @@ SYNTAX_XHTML = _SYNTAX_XHTML SYNTAX_MARKDOWN = "markdown" SYNTAX_TEXT = "text" - syntaxes = {} # default_syntax must be lower case default_syntax = SYNTAX_XHTML - params = """ - - - - - %(options)s - - - - - """ - - params_data = { - "category_name": CATEGORY, - "category_label": _(CATEGORY), - "name": NAME, - "label": _(NAME), - "syntaxes": syntaxes, - } def __init__(self, host): log.info(_("Text syntaxes plugin initialization")) self.host = host + self.syntaxes = {} + + self.params = """ + + + + + %(options)s + + + + + """ + + self.params_data = { + "category_name": CATEGORY, + "category_label": _(CATEGORY), + "name": NAME, + "label": _(NAME), + "syntaxes": self.syntaxes, + } + self.addSyntax( self.SYNTAX_XHTML, lambda xhtml: defer.succeed(xhtml), @@ -253,7 +255,7 @@ xml_tools.cleanXHTML = self.cleanXHTML def _updateParamOptions(self): - data_synt = TextSyntaxes.syntaxes + data_synt = self.syntaxes default_synt = TextSyntaxes.default_syntax syntaxes = [] @@ -269,8 +271,8 @@ selected = 'selected="true"' if syntax == default_synt else "" options.append('