/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,10 → 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 |
ret = [wordfound, rem.group("in0"), rem.group("in1"), rem.group("in2")] |
ret = [wordfound] + list(rem.groups()) |
break |
return ret |
/webapp/templates/parse2.html |
---|
0,0 → 1,18 |
{% extends "base.html" %} |
{% block title %}Word parser{% end %} |
{% block body %} |
<b>Na'vi word:</b><br /> |
<form action="/parse2" method="post"> |
<input id="word" name="word" type="text" value="{{last}}" style="width: 100%;" /> |
<input name="btn" type="submit" value="Parse!" /> |
</form> |
{% if type(out) == list %} |
{{ out[0][1]}} <br /> |
{{ "<br />".join(out[1:].split()) }} |
{% end %} |
<script type="text/javascript"> |
document.getElementById("word").focus(); |
</script> |
{% end %} |
/webapp/templates/parse.html |
---|
1,6 → 1,6 |
{% extends "base.html" %} |
{% block title %}Number parser{% end %} |
{% block title %}Word parser{% end %} |
{% block body %} |
<b>Na'vi word:</b><br /> |
17,4 → 17,4 |
<script type="text/javascript"> |
document.getElementById("word").focus(); |
</script> |
{% end %} |
{% end %} |
/webapp/main.py |
---|
58,7 → 58,7 |
class Parse2(tornado.web.RequestHandler): |
def get(self): |
self.render("templates/parse.html", last="", out=None) |
self.render("templates/parse2.html", last="", out=None) |
def post(self): |
try: |
66,7 → 66,7 |
except: |
self.redirect("/parse2") |
out = parse2.parseword(word) |
self.render("templates/parse.html", last=word, out=out) |
self.render("templates/parse2.html", last=word, out=out) |
application = tornado.web.Application([ |
("/", Index), |