diff --git a/plwn/enums.py b/plwn/enums.py index ebca1d5602448fe6dcbe42440d2288579a02e9f1..246fc3c8290958889f6d55fa5bf0d1098045bc2f 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 51f637dcdbb4a8330dfee1060a6d15c1efead1d0..ff366cef0f5456e78e8dfc31b23a9d6fc25ad5ad 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 49235d37569668d7e87db652bef383ada5943f73..3983068dc6058ad0343ff03e6660e8a4bcb078a6 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"""