Anton Shestakov <av6@dwimlabs.net>, Mon, 18 Sep 2017 14:27:41 +0800
viewer: short summary and a link to compare on check page when makes sense
viewer.py
Permissions: -rwxr-xr-x
from __future__ import absolute_import from tornado.ioloop import IOLoop from tornado.options import define, options from tornado.web import Application from candolint import handlers as h, uimodules from candolint.models import database from candolint.utils import rel class CandolintViewer(Application): def __init__(self, debug=False): project_re = r'/([.a-z0-9_-]+)/([^/]+)/([^/]+)' (project_re, h.ProjectHandler), (project_re + r'/atom', h.AtomHandler), (project_re + r'/(\d+|latest)(?:/(raw))?', h.CheckHandler), (project_re + r'/(\d+|latest)/compare/(\d+|latest)', h.CompareHandler), (project_re + r'/status\.svg', h.StatusHandler), (r'.*', h.ErrorHandler, {'status_code': 404}) static_path=rel('static'), template_path=rel('templates'), super(CandolintViewer, self).__init__(handlers, **settings) logging.getLogger('peewee').setLevel(logging.DEBUG) database.init(rel('database.sqlite')) def listen(self, port, address='', **kwargs): name = self.__class__.__name__ logging.info('%s is serving on http://%s:%d/', name, address, port) super(CandolintViewer, self).listen(port, address, **kwargs) define('listen', metavar='IP', default='127.0.0.1') define('port', metavar='PORT', default=8033, type=int) define('xheaders', metavar='True|False', default=False, type=bool) define('debug', metavar='True|False', default=False, type=bool) options.parse_command_line() application = CandolintViewer(options.debug) application.listen(options.port, options.listen, xheaders=options.xheaders) if __name__ == '__main__':