diff --git a/wikstraktor.py b/wikstraktor.py index 095f285fe04f349d3294920aa80ff1aa23afbcd3..279623c1edd5ba4f6c0aa73fb9eda18c02cd8572 100755 --- a/wikstraktor.py +++ b/wikstraktor.py @@ -185,17 +185,20 @@ class Example(SubInfo): class Sense(SubInfo): prfx = "s" - def __init__(self, lang=None, definition=None, wiki_lang=None, prefix=None): - print(prefix)## - super().__init__(prefix) - self.lang = lang - #On réinitialise les identifiants des sous-éléments - if not isinstance(self, SubSense): + @classmethod + def reset_sub_counters(cls): + if cls.__name__ == "Sense": Definition.reset() Example.reset() Translation.reset() SubSense.reset() + def __init__(self, lang=None, definition=None, wiki_lang=None, prefix=None): + super().__init__(prefix) + self.lang = lang + #On réinitialise les identifiants des sous-éléments + Sense.reset_sub_counters() + self.definitions = [] #liste des définitions (elles auront une langue et un texte) self.subsenses = [] #liste des sous-définitions (récursif…) self.examples = [] #liste des exemples (un texte obligatoire, source et url sont optionnels) @@ -305,6 +308,8 @@ class Sense(SubInfo): res = {} if id: prefix = self.get_id() + Sense.reset_sub_counters() + if self.domain != None: res["Domain"] = self.domain if len(self.regions) > 0: