/
WSGIApplication.py
57 lines (42 loc) · 1.62 KB
/
WSGIApplication.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import tornado.web
import tornado.wsgi
import tornado.httpserver
import Settings
from datas.ProjectsDao import ProjectsDao
__author__ = 'Liomka'
class Application(tornado.wsgi.WSGIApplication):
def __init__(self):
self.projectDao = ProjectsDao()
settings = {
"site_title": "Liomka.IO",
"template_path": Settings.TEMPLATE_PATH,
"static_path": Settings.STATIC_PATH,
"ui_modules" : {"Project": ProjectModule},
# "ui_modules": {"Entry": EntryModule},
# "xsrf_cookies": True,
}
handlers = [
(r'/', IndexHandler),
(r'/cv', CvHandler),
(r'/demo', JsWSClientHandler),
(r"/(apple-touch-icon\.png)", tornado.web.StaticFileHandler, dict(path=settings['static_path'])),
(r'/favicon.ico', tornado.web.StaticFileHandler, {'path': ""}) # http://www.vectortown.com/
]
tornado.web.Application.__init__(self, handlers, **settings)
class BaseHandler(tornado.web.RequestHandler):
@property
def projectDao(self):
return self.application.projectDao
class IndexHandler(BaseHandler):
def get(self):
self.render("index.html", projects=self.projectDao.get_all_projects())
class JsWSClientHandler(BaseHandler):
def get(self):
self.render("jswsclient.html", wsserver=Settings.WSSERVER_URI)
class CvHandler(BaseHandler):
def get(self):
self.render("cv.html")
class ProjectModule(tornado.web.UIModule):
def render(self, project):
self.project = project
return self.render_string("modules/project.html", project=project)