27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
-
+
-
+
-
+
-
+
-
+
-
+
|
def getConjRules (sVerb, bVarPpas=True, nGroup=2):
if sVerb.endswith("er"):
# premier groupe, conjugaison en fonction de la terminaison du lemme
# 5 lettres
if sVerb[-5:] in oConj["V1"]:
lConj = oConj["V1"][sVerb[-5:]]
lConj = list(oConj["V1"][sVerb[-5:]])
# 4 lettres
elif sVerb[-4:] in oConj["V1"]:
if sVerb.endswith(("eler", "eter")):
lConj = oConj["V1"][sVerb[-4:]]["1"]
lConj = list(oConj["V1"][sVerb[-4:]]["1"])
else:
lConj = oConj["V1"][sVerb[-4:]]
lConj = list(oConj["V1"][sVerb[-4:]])
# 3 lettres
elif sVerb[-3:] in oConj["V1"]:
lConj = oConj["V1"][sVerb[-3:]]
lConj = list(oConj["V1"][sVerb[-3:]])
# 2 lettres
else:
lConj = oConj["V1"]["er"]
lConj = list(oConj["V1"]["er"])
lConj.extend(oConj["V1_ppas"][bVarPpas])
elif sVerb.endswith("ir") and nGroup <= 2:
# deuxième groupe
lConj = oConj["V2"]
lConj = list(oConj["V2"])
lConj.extend(oConj["V2_ppas"][bVarPpas])
else:
# TODO: troisième groupe
lConj = [ [0, "", ":Y/*", False] ]
return lConj
|