22
33# Conditional mood of Slavic languages
44
5- from udapi .core .block import Block
6- import importlib
7- import sys
8-
9- class Slavic_cond (Block ):
10- def __init__ (self , writer_prefix = '' ,** kwargs ):
11- super ().__init__ (** kwargs )
12- if writer_prefix != '' :
13- writer_module = "." .join ([writer_prefix ,'writer' ])
14- else :
15- writer_module = 'writer'
16- try :
17- module = importlib .import_module (writer_module )
18- except ModuleNotFoundError as e :
19- print (e , file = sys .stderr )
20- print ("Try to set writer_prefix parameter." , file = sys .stderr )
21- exit (1 )
22-
23- self .wr = module .Writer ()
5+ from udapi .block .mwe .MsfPhrase import MsfPhrase
246
7+ class conditional (MsfPhrase ):
258
269 def process_node (self , node ):
2710 if node .feats ['VerbForm' ] == 'Part' or node .feats ['VerbForm' ] == 'Fin' :
@@ -48,8 +31,7 @@ def process_node(self, node):
4831 if auxVerb .feats ['Person' ] != '' :
4932 person = auxVerb .feats ['Person' ]
5033
51-
52- self .wr .write_node_info (node ,
34+ self .write_node_info (node ,
5335 person = person ,
5436 number = node .feats ['Number' ],
5537 mood = 'Cnd' ,
@@ -63,7 +45,6 @@ def process_node(self, node):
6345 animacy = node .feats ['Animacy' ]
6446 )
6547 return
66-
6748
6849 cop = [x for x in node .children if x .udeprel == 'cop' and (x .feats ['VerbForm' ] == 'Part' or x .feats ['VerbForm' ] == 'Fin' )]
6950 aux_cnd = [x for x in node .children if x .feats ['Mood' ] == 'Cnd' or x .deprel == 'aux:pass' ]
@@ -77,7 +58,7 @@ def process_node(self, node):
7758 copVerb = cop [0 ]
7859 phrase_ords = [node .ord ] + [x .ord for x in aux ] + [x .ord for x in cop ] + [x .ord for x in neg ] + [x .ord for x in prep ] + [x .ord for x in refl ]
7960 phrase_ords .sort ()
80- self .wr . write_node_info (node ,
61+ self .write_node_info (node ,
8162 person = copVerb .feats ['Person' ],
8263 number = copVerb .feats ['Number' ],
8364 mood = 'Cnd' ,
0 commit comments