Fix memory leaks related to multiple instances of Morfeusz' dict

This commit is contained in:
2026-01-09 22:42:22 +01:00
parent b0cf963f91
commit 3a3905f2c6
3 changed files with 14 additions and 6 deletions

View File

@@ -0,0 +1,10 @@
import morfeusz2
class Morfeusz:
_instance = None
@classmethod
def get(cls):
if cls._instance is None:
cls._instance = morfeusz2.Morfeusz(expand_tags=True)
return cls._instance

View File

@@ -1,5 +1,4 @@
import morfeusz2
from conmorfeusz import concraft, utils
from conmorfeusz import morfeusz, concraft, utils
def analysis_entry_to_dict(entry):
@@ -36,7 +35,7 @@ def disamb_entry_to_dict(entry):
def analyse(text, disamb, port):
morf = morfeusz2.Morfeusz(expand_tags=True)
morf = morfeusz.Morfeusz.get()
analysis = morf.analyse(text)
if disamb == False:

View File

@@ -1,5 +1,4 @@
import morfeusz2
from conmorfeusz import utils
from conmorfeusz import morfeusz, utils
def entry_to_dict(entry):
segment, lemma, tags, frequency, qualifiers = entry
@@ -14,5 +13,5 @@ def entry_to_dict(entry):
def generate(lemma):
morf = morfeusz2.Morfeusz(expand_tags=True)
morf = morfeusz.Morfeusz.get()
return [entry_to_dict(e) for e in morf.generate(lemma) if len(e) > 0]