Fix memory leaks related to multiple instances of Morfeusz' dict
This commit is contained in:
10
conmorfeusz/conmorfeusz/morfeusz/__init__.py
Normal file
10
conmorfeusz/conmorfeusz/morfeusz/__init__.py
Normal 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
|
||||
@@ -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:
|
||||
|
||||
@@ -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]
|
||||
Reference in New Issue
Block a user