示例#1
0
def main(db_name):
    all_oggs = open_db(db_name)
    oggs = [f for f in all_oggs if f['length'] > MIN_OGG_LENGTH]
    oggs = [f for f in oggs if not SPOKEN_RE.match(f['img_name'])]
    name_idx_map = {name['img_name']: i for i, name in enumerate(oggs)}
    rand_oggs = list(oggs)
    random.shuffle(rand_oggs)
    rand_name_idx_map = {name['img_name']: i for i, name in enumerate(rand_oggs)}
    render_jsonp = JSONPRender()
    cur_dir = os.path.abspath(os.path.dirname(__file__))
    resources = {'oggs': oggs,
                 'rand_oggs': rand_oggs,
                 'all_oggs': all_oggs,
                 'name_idx_map': name_idx_map,
                 'rand_name_idx_map': rand_name_idx_map}

    routes = [('/rand', random_oggs, render_jsonp),
              ('/rand/<int:k>', random_oggs, render_jsonp),
              ('/recent', recent_oggs, render_jsonp),
              ('/recent/<int:k>', recent_oggs, render_jsonp),
              ('/rand_dur', random_by_dur, render_jsonp),
              ('/rand_dur/<int:k>', random_by_dur, render_jsonp)]

    middlewares = [GetParamMiddleware('callback'),
                   GetParamMiddleware('name'),
                   GetParamMiddleware('min'),
                   GetParamMiddleware('max')]

    app = Application(routes, resources, middlewares=middlewares)
    app.serve(static_path=cur_dir)
示例#2
0
def main():
    rsc = {'data': _DATA}
    gpm = GetParamMiddleware('url')
    atr = AutoTableRenderer(max_depth=5)
    render_basic = BasicRender()
    app = Application([('/', ident_ep, render_basic),
                       ('/json', ident_ep, render_basic),
                       ('/fetch', fetch_json, render_basic)], rsc, [gpm])
    app.serve()
示例#3
0
def main():
    rsc = {'data': _DATA}
    gpm = GetParamMiddleware('url')
    atr = AutoTableRenderer(max_depth=5)
    render_basic = BasicRender()
    app = Application([('/', ident_ep, render_basic),
                       ('/json', ident_ep, render_basic),
                       ('/fetch', fetch_json, render_basic)], rsc, [gpm])
    app.serve()
示例#4
0
def main(db_name):
    oggs = open_db(db_name)
    oggs = [f for f in oggs if f['length'] > MIN_OGG_LENGTH]
    render_jsonp = JSONPRender()
    cur_dir = os.path.abspath(os.path.dirname(__file__))
    resources = {'oggs': oggs}

    routes = [('/rand', random_oggs, render_jsonp),
              ('/rand/<k>', random_oggs, render_jsonp)]

    app = Application(routes, resources, middlewares=[GetParamMiddleware('callback')])
    app.serve(static_path=cur_dir)
示例#5
0
def main():
    prs = argparse.ArgumentParser()
    prs.add_argument("--debug", action="store_true")
    opts, _ = prs.parse_known_args()
    debug = opts.debug

    v1_app = create_v1_app()
    app = Application([("/v1", v1_app)])
    meta_app = MetaApplication()
    if debug:
        app.add(("/", meta_app))

    app.serve(port=PORT, threaded=True)

    return
示例#6
0
def test_serve():
    cookie_session = CookieSessionMiddleware()
    app = Application(
        [("/", session_hello_world, default_response), ("/<name>/", session_hello_world, default_response)],
        middlewares=[cookie_session],
    )
    yield ok_, app.serve(_jk_just_testing=True)
示例#7
0
文件: app.py 项目: shankarj/support
def main():
    prs = argparse.ArgumentParser()
    prs.add_argument('--debug', action='store_true')
    opts, _ = prs.parse_known_args()
    debug = opts.debug

    v1_app = create_v1_app()
    app = Application([('/v1', v1_app)])
    meta_app = MetaApplication()
    if debug:
        app.add(('/', meta_app))
        app.serve(port=PORT)
    else:
        group = Group(wsgi_apps=[(app, ('0.0.0.0', PORT), False),
                                 (meta_app, ('0.0.0.0', META_PORT), False)],
                      num_workers=1,
                      prefork=True,
                      daemonize=True)
        group.serve_forever()
示例#8
0
def test_serve():
    cookie_mw = SignedCookieMiddleware()
    app = Application([('/', cookie_hello_world, render_basic),
                       ('/<name>/', cookie_hello_world, render_basic)],
                      middlewares=[cookie_mw])

    assert app.serve(_jk_just_testing=True, static_path=_CUR_DIR)
    cl = app.get_local_client()

    assert cl.get('/').status_code == 200
    assert cl.get('/static/test_serve.py').status_code == 200
示例#9
0
def test_serve():
    cookie_mw = SignedCookieMiddleware()
    app = Application([('/', cookie_hello_world, render_basic),
                       ('/<name>/', cookie_hello_world, render_basic)],
                      middlewares=[cookie_mw])

    yield ok_, app.serve(_jk_just_testing=True, static_path=_CUR_DIR)
    cl = Client(app, Response)

    yield eq_, cl.get('/').status_code, 200
    yield eq_, cl.get('/_meta/').status_code, 200
    yield eq_, cl.get('/static/test_serve.py').status_code, 200
示例#10
0
def test_serve():
    cookie_mw = SignedCookieMiddleware()
    app = Application([('/', cookie_hello_world, render_basic),
                       ('/<name>/', cookie_hello_world, render_basic)],
                      middlewares=[cookie_mw])

    yield ok_, app.serve(_jk_just_testing=True, static_path=_CUR_DIR)
    cl = Client(app, Response)

    yield eq_, cl.get('/').status_code, 200
    yield eq_, cl.get('/_meta/').status_code, 200
    yield eq_, cl.get('/static/test_serve.py').status_code, 200
示例#11
0
def hello(url='please add the url'):
    encode = base64.b64encode(url)[:5]
    r.set(encode, url)
    return 'localhost:5000/mapping/' + encode


def shorten(request):
    for k in request.values:
        if k in "url":
            url = request.values[k]
            encode = base64.b64encode(url)[:8]
            r.set(encode, url)
            return 'localhost:5000/mapping/' + encode


def decode(encode=''):
    if encode is '':
        return 'No url to return'
    else:
        return r.get(encode)

routes = [('/', hello, render_basic),
          ('/shorten', shorten, render_basic),
          ('/mapping/<encode>', decode, render_basic)]
          # ,
          # ('/<url>', hello, render_basic)]

r = redis.StrictRedis(host='localhost', port=6379, db=0)
app = Application(routes)
app.serve()
示例#12
0

import json


def random_oggs(request, seed=None, k=DEFAULT_K):
    long_oggs = [f for f in oggs if f["length"] > MIN_OGG_LENGTH]
    random.seed(seed)
    ret = [o["name"].strip() for o in random.sample(long_oggs, int(k))]
    return ret


if __name__ == "__main__":
    with codecs.open("commons_oggs.json", "r", encoding="utf-8") as f:
        oggs = []
        for line in f:
            oggs.append(json.loads(line))
    render_jsonp = JSONPRender()
    cur_dir = os.path.abspath(os.path.dirname(__file__))
    print cur_dir

    routes = [
        ("/rand", random_oggs, render_jsonp),
        ("/rand/<k>", random_oggs, render_jsonp),
        ("/rands/<seed>", random_oggs, render_jsonp),
        ("/rands/<seed>/<k>", random_oggs, render_jsonp),
    ]

    app = Application(routes, middlewares=[GetParamMiddleware("callback")])
    app.serve(static_path=cur_dir)
示例#13
0
def main():
    static_path = os.path.join(os.getcwd(), 'templates', 'assets')
    app = Application(routes, None, mako_render, [HTTPResponseStatusCorrector()])
    app.serve(static_prefix='static',
              static_path=static_path)
示例#14
0
文件: server.py 项目: bennylin/top
from os import path
from datetime import datetime, timedelta

from clastic import Application, redirect

from common import HTML_FILE_TMPL, DEFAULT_LANG, DEFAULT_PROJECT
from build_page import check_issue


def redirect_today(lang=DEFAULT_LANG, project=DEFAULT_PROJECT):
    cur_date = datetime.today()
    days = 0
    while not check_issue(cur_date, days, lang, project):
        days += 1
    cur_date = cur_date - timedelta(days=days)
    today_file = HTML_FILE_TMPL.format(lang=DEFAULT_LANG,
                                       project=DEFAULT_PROJECT,
                                       year=cur_date.year,
                                       month=cur_date.month,
                                       day=cur_date.day)
    return redirect(today_file)


if __name__ == '__main__':
    routes = [('/', redirect_today)]
    static_dir = path.abspath(path.join(path.dirname(__file__), 'static'))
    app = Application(routes)
    app.serve(static_path=static_dir, static_prefix='')
示例#15
0
文件: server.py 项目: Ladsgroup/top
from os import path
from datetime import datetime, timedelta

from clastic import Application, redirect

from common import HTML_FILE_TMPL, DEFAULT_LANG, DEFAULT_PROJECT
from build_page import check_issue


def redirect_today(lang=DEFAULT_LANG, project=DEFAULT_PROJECT):
    cur_date = datetime.today()
    days = 0
    while not check_issue(cur_date, days, lang, project):
        days += 1
    cur_date = cur_date - timedelta(days=days)
    today_file = HTML_FILE_TMPL.format(lang=DEFAULT_LANG,
                                       project=DEFAULT_PROJECT,
                                       year=cur_date.year,
                                       month=cur_date.month,
                                       day=cur_date.day)
    return redirect(today_file)

if __name__ == '__main__':
    routes = [('/', redirect_today)]
    static_dir = path.abspath(path.join(path.dirname(__file__), 'static'))
    app = Application(routes)
    app.serve(static_path=static_dir, static_prefix='')