35,15 → 35,10 |
u"(?:(" + "|".join(base) + u")zam??)?" + \ |
u"(?:(" + "|".join(base) + u")vo(?:l(?=a|))?)?" + \ |
u"((?:" + "|".join(rem) + u")|" + \ |
u"(?:" + "|".join(num) + u"))?(ve?)(a?)$" |
u"(?:" + "|".join(num) + u"))?((?:ve)?)(a?)$" |
numre = re.compile(numre) |
|
def parse(numin): |
if type(numin) != unicode: |
return None |
if numin == u"": |
return None |
numin = numin.replace(u"í",u"ì").replace(u"á",u"ä") |
try: |
mat = numre.match(numin).groups() |
except: |
77,9 → 72,17 |
retnum = unicode(numout) |
if mat[6] != u"": |
retnum += u"." |
return {"word": {"id": 0, "navi": retnum, "infix": u"", "type": u""}, "pref": [mat[0]], "post": [mat[6], mat[7]], "inf": [u"", u"", u""], "len": False, "dec": numout, "oct": numdec} |
prefs = [] |
posts = [] |
if mat[0] != u"": |
prefs.append(mat[0]) |
if mat[6] != u"": |
posts.append(mat[6]) |
if mat[7] != u"": |
posts.append(mat[7]) |
return {"word": {"id": 0, "navi": retnum, "infix": u"", "type": u""}, "pref": prefs, "post": posts, "inf": [u"", u"", u""], "len": False, "dec": numout, "oct": numoct} |
#return numout, numoct |
|
|
if __name__ == "__main__": |
print parse(u"mrrvolaw") |
print parse(u"mrrvolawvea") |