Exemple #1
0
    def listen(self, *args, **kwargs):
        super(Pystil, self).listen(*args, **kwargs)
        db_url = 'postgresql+psycopg2://%s:%s@%s:%d/%s' % (
            options.db_user,
            options.db_password,
            options.db_host,
            options.db_port,
            options.db_name)

        self.db_engine = create_engine(db_url, echo=False)
        metadata.reflect(bind=self.db_engine, schema='agg')
        self.db_metadata = metadata
        self.db = scoped_session(sessionmaker(bind=self.db_engine))
        Tracking(self.db_engine.connect(), self.log).start()
        if not options.debug:
            handler = SysLogHandler(
                address='/dev/log', facility=SysLogHandler.LOG_LOCAL1)
            handler.setLevel(logging.INFO)
            handler.setFormatter(
                logging.Formatter(
                    'PYSTIL: %(name)s: %(levelname)s %(message)s'))

            smtp_handler = SMTPHandler(
                'smtp.keleos.fr',
                '*****@*****.**',
                '*****@*****.**',
                'Pystil Exception')
            smtp_handler.setLevel(logging.ERROR)

            log.addHandler(smtp_handler)
            for logger in (
                    'tornado.access',
                    'tornado.application',
                    'tornado.general',
                    'sqlalchemy'):
                getLogger(logger).addHandler(handler)
                getLogger(logger).addHandler(smtp_handler)
        else:
            self.log.setLevel(logging.DEBUG)
            try:
                from wdb.ext import wdb_tornado, add_w_builtin
            except ImportError:
                pass
            else:
                wdb_tornado(self, start_disabled=True)
                add_w_builtin()
import json
import os
import subprocess
import tornado.ioloop

log = getLogger('half_past_five')

log.setLevel(20)

server = Application(
    static_path=os.path.join(os.path.dirname(__file__), "static"),
    template_path=os.path.join(os.path.dirname(__file__), "templates"),
    debug=True)

from wdb.ext import wdb_tornado
wdb_tornado(server, start_disabled=True)


class url(object):
    def __init__(self, url, name=None, suffix=None):
        self.url = url
        self.name = name
        self.suffix = suffix or ''

    def __call__(self, cls):
        server.add_handlers(
            r'.*$',
            (hpf_url(self.url, cls, name=self.name or (
                cls.__name__ + self.suffix)),)
        )
        return cls
Exemple #3
0
import tornado.ioloop
import tornado.web


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        a = 2
        b = -2
        c = 1 / (a + b) < 0  # <strong> Err œ
        print(c <b> a)
        relay_error()
        self.write("Hello, world")


class OkHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Ok")


def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    wdb_tornado(app, start_disabled=True)
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()