Subversion Repositories navi

Compare Revisions

Ignore whitespace Rev 103 → Rev 106

/tsimapiak/parsenum.py
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")
/tsimapiak/parse2.py
111,7 → 111,7
ret = []
left = len(sent)
while left:
word = parsenum.parse(sent[0])
word = parsenum.parse(sent[-left:-left])
if word == None:
word = parseword(sent[-left:])
left -= len(word["word"]["navi"].split(" "))