Subversion Repositories navi

Compare Revisions

Ignore whitespace Rev 55 → Rev 59

/webapp/templates/parse2.html
0,0 → 1,20
{% extends "base.html" %}
 
{% block title %}Number 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 />
{{ out[1]}} <br />
{{ out[2]}} <br />
{{ out[3]}}
{% end %}
<script type="text/javascript">
document.getElementById("word").focus();
</script>
{% end %}
/webapp/templates/parse.html
17,4 → 17,4
<script type="text/javascript">
document.getElementById("word").focus();
</script>
{% end %}
{% end %}
/webapp/main.py
12,6 → 12,7
from tsimapiak import parsenum
from tsimapiak import dbconnector
from tsimapiak import parse
from tsimapiak import parse2
 
class Index(tornado.web.RequestHandler):
def get(self):
43,7 → 44,7
text += u"<br />".join(u" | ".join(unicode(y) for y in x) for x in lis)
self.write(text)
 
class ParseTest(tornado.web.RequestHandler):
class Parse(tornado.web.RequestHandler):
def get(self):
self.render("templates/parse.html", last="", out=None)
55,12 → 56,25
out = parse.parsefix(word)
self.render("templates/parse.html", last=word, out=out)
 
class Parse2(tornado.web.RequestHandler):
def get(self):
self.render("templates/parse2.html", last="", out=None)
def post(self):
try:
word = self.get_argument("word").strip()
except:
self.redirect("/parse2")
out = parse2.parseword(word)
self.render("templates/parse2.html", last=word, out=out)
 
application = tornado.web.Application([
("/", Index),
("/number", Number),
("/restart", Restart),
("/testdb", TestDB),
("/parse", ParseTest)
("/parse", Parse),
("/parse2", Parse2)
])
 
if __name__ == "__main__":
/tsimapiak/parse2.py
0,0 → 1,23
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import re
import dbconnector
 
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ä)?"
 
def parseword(wordin):
wordfound = [0, u"", u"", u""]
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)
rem = re.match(wordre,wordin)
if rem:
wordfound = word
ret = [wordfound, rem.group("in0"), rem.group("in1"), rem.group("in2")]
break
return ret