Subversion Repositories navi

Compare Revisions

Ignore whitespace Rev 61 → Rev 62

/tsimapiak/parse2.py
7,7 → 7,9
infixes0 = ur"(?P<in0>(?:awn|eyk|us|äp)?)"
infixes1 = ur"(?P<in1>(?:ìyev|iyev|ìmìy|arm|asy|ilv|ìmv|imv|ìrm|irv|ìsy|aly|ary|ìly|ìry|ìlm|alm|am|ay|er|ìm|iv|ìy|ol)?)"
infixes2 = ur"(?P<in2>(?:äng|ats|eiy|ei|uy)?)"
#prefixesn = ur"(?P<pre>(?:(?:fì|tsa)?(?:me|pxe|ay|fra)?|(?:fay)?|(?:tsay)?)(?:fne)?(?:tì|sä)?"
#prefixesn = ur"(?P<npr>(?:(?:fì|tsa)?(?:me|pxe|ay|fra)?|(?:fay)?|(?:tsay)?)(?:fne)?(?:tì|sä)?"
prefixes = ur"((?:ay|me|pxe|pe|a|le|nì|sä|tì|ke|fì|fay|tsa|tsay|fra|ke |kea |rä'ä )*)"
#postfixesv = ur"(?P<vpr>(?:nì|sä|tì|rä'ä |ke )?)"
 
def parseword(wordin):
wordfound = [0, u"", u"", u""]
14,13 → 16,10
wordre = None
ret = [wordfound, u"", u"", u""]
for word in dbconnector.getnavilist():
wordre = u" ".join(ur"(?:.*?)" + x + ur"(?:.*?)" for x in word[2].split(u" ")).replace(u"<0><1>", infixes0 + infixes1).replace(u"<2>",infixes2)
wordre = u" ".join(prefixes + x + ur"(\w*?)" for x in word[2].split(u" ")).replace(u"<0><1>", infixes0 + infixes1).replace(u"<2>",infixes2)
rem = re.match(wordre,wordin)
if rem:
wordfound = word
try:
ret = [wordfound, rem.group("in0"), rem.group("in1"), rem.group("in2")]
except:
ret = [wordfound, u"", u"", u""]
ret = [wordfound] + list(rem.groups)
break
return ret