From a6605b0f6851ffbd00d4cbc7ded34f067e1b9834 Mon Sep 17 00:00:00 2001 From: "A. Janz" <arkadiusz.janz@pwr.edu.pl> Date: Fri, 23 Jul 2021 16:17:45 +0200 Subject: [PATCH] fixing minor bugs found in XML reader, we solved #7, #8, #9 and #10 issues; still - the code needs more testing --- plwn/enums.py | 1 + plwn/readers/wnxml.py | 13 ++++++++++++- plwn/storages/sqlite.py | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/plwn/enums.py b/plwn/enums.py index ebca1d5..246fc3c 100644 --- a/plwn/enums.py +++ b/plwn/enums.py @@ -330,6 +330,7 @@ class Domain(Enum): dtk = u'czasowniki oznacz. kontakt fizyczny ' \ u'(dotykanie, uderzenie, rycie itp.)' cwytw = u'czasowniki oznacz. wytwarzanie czegoś' + cwyt = u'czasowniki oznacz. wytwarzanie czegoś' cczuj = u'czasowniki wyrażające uczucia' ruch = u'czasowniki ruchu' pst = u'czasowniki postrzegania (percepcji)' diff --git a/plwn/readers/wnxml.py b/plwn/readers/wnxml.py index 51f637d..ff366ce 100644 --- a/plwn/readers/wnxml.py +++ b/plwn/readers/wnxml.py @@ -40,6 +40,7 @@ _POSES = { _RELKINDS = { u'relacja pomiędzy synsetami': en.RelationKind.synset, u'relacja leksykalna': en.RelationKind.lexical, + u'relacja synonimii': en.RelationKind.lexical } _BOOLVALUES = {u'true': True, u'false': False} @@ -118,7 +119,17 @@ class WNXMLReader(object): id_ = int(elem.get('id')) var = int(elem.get('variant')) pos = _POSES[elem.get('pos')] - dom = en.Domain(elem.get('domain')) + dom = elem.get('domain') + try: + dom = en.Domain(dom) + except ValueError: + try: + dom = getattr(en.Domain, dom) + except AttributeError: + raise ValueError( + "The domains found in the dump are incompatible with " + "current library version." + ) self._schema.take_lexical_unit( id_, diff --git a/plwn/storages/sqlite.py b/plwn/storages/sqlite.py index 49235d3..3983068 100644 --- a/plwn/storages/sqlite.py +++ b/plwn/storages/sqlite.py @@ -1454,8 +1454,8 @@ class _DBBuilder(object): lu_node.id, ) # Drop relations for this unit, if any - self._lexrels.pop(lu_node.id, None) - return + self._adhoc_lexrels.pop(lu_node.id, None) + continue cur.executemany( u""" -- GitLab