diff --git a/conllusvg/UDPipe2UD.py b/conllusvg/UDPipe2UD.py index ffb38711fe2d8c6a0e8c9395edb300e9076ceeb3..51da3b4fa156d0b4b2b58fc8d4777145fbbf6a1a 100755 --- a/conllusvg/UDPipe2UD.py +++ b/conllusvg/UDPipe2UD.py @@ -1,5 +1,5 @@ #! /usr/bin/python -i -# "UDPipe2UD.py" by Koichi Yasuoka, July 3, 2019. +# "UDPipe2UD.py" by Koichi Yasuoka, September 15, 2019. class UDPipeEntry(object): def __init__(self,result): @@ -9,10 +9,10 @@ class UDPipeEntry(object): w=UDPipeEntry(r) if w.id>0: t.append(w) - for i,w in enumerate(t): - w.head=w if w._head==0 else t[i+w._head-w.id] - w._parent=self self._tokens=t + for w in t: + w._parent=self + w.head=w._head self._result=result else: w=result.split("\t") @@ -24,11 +24,11 @@ class UDPipeEntry(object): self._result="" def __setattr__(self,name,value): v=value + if name=="head": + t=self._parent._tokens + i=t.index(self) + v=self if v==0 else t[i+v-self.id] if hasattr(self,name): - if name=="head": - t=self._parent._tokens - i=t.index(self) - v=self if v==0 else t[i+v-self.id] if getattr(self,name)!=v: super(UDPipeEntry,self._parent).__setattr__("_result","") if name=="id":