From 972e96bf04ddf60ed5062e209f0c3a7c8995d611 Mon Sep 17 00:00:00 2001 From: Goffi Date: Mon, 2 Aug 2021 21:52:17 +0200 Subject: [PATCH] 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. --- sat/plugins/plugin_misc_text_syntaxes.py | 52 ++++++++++++------------ 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/sat/plugins/plugin_misc_text_syntaxes.py b/sat/plugins/plugin_misc_text_syntaxes.py index 2217b707..d360e761 100644 --- a/sat/plugins/plugin_misc_text_syntaxes.py +++ b/sat/plugins/plugin_misc_text_syntaxes.py @@ -156,33 +156,35 @@ class TextSyntaxes(object): 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 @@ class TextSyntaxes(object): 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 @@ class TextSyntaxes(object): selected = 'selected="true"' if syntax == default_synt else "" options.append('