Example #1
0
def test_reverse_fail():
    from simplerouter import Router

    r = Router()
    r.add_route('/blank', 'simplerouter:blank_view')

    r.reverse('/doesnotexist')
Example #2
0
def test_no_try_slash():
    from simplerouter import Router

    r = Router(try_slashes=True)
    r.add_route('/path', view_factory('path'), no_alt_redir=True)
    
    eq_(r(Request.blank('/path/')).status_code, 404)
Example #3
0
def test_null():
    from simplerouter import Router

    r = Router()
    r.add_route(None, view_factory('catchall'))
    r.add_route('/', view_factory('something'), priority=1)

    eq_(r(Request.blank('/')), 'something')
    eq_(r(Request.blank('/x')), 'catchall')
Example #4
0
def test_func_view():
    from simplerouter import Router

    def view(request):
        return "hello!"

    r = Router()
    r.add_route('/test', view)

    assert r(Request.blank('/test')) == "hello!"
Example #5
0
def test_bad_url():
    from simplerouter import Router
    from webob.exc import HTTPBadRequest

    r = Router()
    r.add_route('/', view_factory('root'))

    req = Request.blank('/')
    req.environ['PATH_INFO'] = b'/\xef'.decode('latin-1')
    eq_(r(req).status_code, 400)
Example #6
0
def test_exception_nocatch():
    from simplerouter import Router
    from webob.exc import HTTPTemporaryRedirect

    def view(req):
        raise HTTPTemporaryRedirect(location='/home')

    r = Router(catch_raised_responses=False)
    r.add_route('/', view)

    r(Request.blank('/'))
Example #7
0
def test_exception():
    from simplerouter import Router
    from webob.exc import HTTPTemporaryRedirect

    def view(req):
        raise HTTPTemporaryRedirect(location='/home')

    r = Router()
    r.add_route('/', view)

    eq_(r(Request.blank('/')).status_code, 307)
Example #8
0
def test_failed_lookup():
    from simplerouter import Router

    r = Router()
    r.add_route('/missingModule', 'nonexistent.invalid:view')
    r.add_route('/missingView', 'simplerouter:xxx_nonexistent_view')

    resp = r(Request.blank('/missingModule'))
    eq_(resp.status_code, 500)
    
    resp = r(Request.blank('/missingView'))
    eq_(resp.status_code, 500)
Example #9
0
def test_path_info_none():
    from simplerouter import Router

    def view(req):
        return req.script_name, req.path_info

    r = Router()
    r.add_route('/test', view, path_info=True)
    r.add_route(None, view, path_info=True)

    eq_(r(Request.blank('/test/pants')), ('/test', '/pants'))
    eq_(r(Request.blank('/test')), ('', '/test'))
Example #10
0
def test_path_info():
    from simplerouter import Router

    def view(req):
        return req.script_name, req.path_info
    
    r = Router()
    r.add_route('/test', view, path_info=True)
    r.add_route('/slash/', view, path_info='.*') # not a good path_info
    
    eq_(r(Request.blank('/test/pants')), ('/test', '/pants'))
    eq_(r(Request.blank('/slash/test')), ('/slash/', 'test'))
    eq_(r(Request.blank('/test')).status_code, 404)
Example #11
0
def test_path_info_restore():
    from simplerouter import Router

    def nullview(req):
        return None

    def view(req):
        return req.script_name, req.path_info

    r = Router()
    r.add_route('/test', nullview, path_info=True, priority=100)
    r.add_route('/test/2', view)
    
    eq_(r(Request.blank('/test/2')), ('', '/test/2'))
Example #12
0
def test_simple_paths():
    from simplerouter import Router

    r = Router()
    r.add_route('/', view_factory('root'))
    r.add_route('/path', view_factory('path'))
    r.add_route('/path/', view_factory('path_slash'))
    r.add_route('/path/{element}', view_factory('path_var'))

    eq_(r(Request.blank('/')), "root")
    eq_(r(Request.blank('/path')), "path")
    eq_(r(Request.blank('/path/')), "path_slash")
    eq_(r(Request.blank('/path/pie')) , ("path_var", {'element' : 'pie'}))
Example #13
0
def test_as_wsgi():
    from simplerouter import Router

    def call_app(app, path):
        return Request.blank(path).call_application(app)

    r = Router(default=None)
    r.add_route('/', lambda req: Response("root"))
    r.add_route('/path', lambda req: Response("path"))

    statusRoot, headersRoot, bodyRoot = call_app(r.as_wsgi, '/')
    assert statusRoot.startswith('200')
    eq_(b''.join(bodyRoot), b'root')

    statusRoot, headersRoot, bodyRoot = call_app(r.as_wsgi, '/path')
    assert statusRoot.startswith('200')
    eq_(b''.join(bodyRoot), b'path')

    statusInvalid, headersInvalid, bodyInvalid = call_app(r.as_wsgi, '/invalid')
    assert statusInvalid.startswith('500')
Example #14
0
def test_wsgi_view():
    from simplerouter import Router

    def call_app(app, path):
        return Request.blank(path).call_application(app)

    def app(environ, start_response):
        start_response('200 OK', [('Content-Type', 'text/plain')])
        return [environ['PATH_INFO'].encode('utf-8')]

    r = Router()
    r.add_route('/', view_factory('root'))
    r.add_route('/app', app, wsgi=True)

    statusAppRoot, headersAppRoot, bodyAppRoot = call_app(r.as_wsgi, '/app/')
    assert statusAppRoot.startswith('200')
    eq_(b''.join(bodyAppRoot), b'/')
    
    statusAppRoot, headersAppRoot, bodyAppRoot = call_app(r.as_wsgi, '/app/sub')
    assert statusAppRoot.startswith('200')
    eq_(b''.join(bodyAppRoot), b'/sub')
Example #15
0
def test_regex():
    from simplerouter import Router

    r = Router()
    r.add_route('/{d:\d+}', view_factory('digit'))
    r.add_route('/{d:\d+}/', view_factory('digitSlash'))
    r.add_route('/term/{t:[^_]+}', view_factory('incSlash'))

    eq_(r(Request.blank('/1234')), ('digit', {'d' : '1234'}))
    eq_(r(Request.blank('/1234/')), ('digitSlash', {'d' : '1234'}))
    eq_(r(Request.blank('/term/abc/def')), ('incSlash', {'t' : 'abc/def'}))
Example #16
0
def test_wrong_slash():
    from simplerouter import Router

    r = Router(default=view_factory('wrong'))
    r.add_route('/path', view_factory('path'))

    r2 = Router(default=view_factory('wrong'))
    r2.add_route('/path/', view_factory('path'))

    eq_(r(Request.blank('/path')), "path")
    eq_(r2(Request.blank('/path/')), "path")
    eq_(r(Request.blank('/path/')), "wrong")
    eq_(r2(Request.blank('/path')), "wrong")
Example #17
0
def test_wrong_slash_try_slashes():
    from simplerouter import Router

    r = Router(default=view_factory('wrong'), try_slashes=True)
    r.add_route('/path', view_factory('path'))

    r2 = Router(default=view_factory('wrong'), try_slashes=True)
    r2.add_route('/path/', view_factory('path'))

    eq_(r(Request.blank('/path')), "path")
    eq_(r2(Request.blank('/path/')), "path")

    respRedir = r(Request.blank('/path/'))
    eq_(respRedir.status_code, 307)
    eq_(respRedir.location, "http://localhost/path")

    respRedir = r2(Request.blank('/path'))
    eq_(respRedir.status_code, 307)
    eq_(respRedir.location, "http://localhost/path/")
Example #18
0
def test_named():
    from simplerouter import Router

    r = Router()
    r.add_route('/blank', 'simplerouter:blank_view')
    eq_(r(Request.blank('/blank')).body, b'')
Example #19
0
def test_reverse_fail_impossible():
    from simplerouter import Router

    r = Router()
    r.add_route(None, 'simplerouter:blank_view')
    r.reverse('simplerouter:blank_view')
Example #20
0
def test_reverse_fail_type():
    from simplerouter import Router

    r = Router()
    r.reverse(object())
Example #21
0
def test_method():
    from simplerouter import Router

    r = Router()
    r.add_route('/', view_factory('root'))
    r.add_route('/path_str', view_factory('get'), method="GET")
    r.add_route('/path_str', view_factory('post'), method="POST")
    r.add_route('/path_str', view_factory('head'), method="HEAD")
    r.add_route('/path_str', view_factory('else'))
    r.add_route('/path_list', view_factory('get-post'), method=("GET", "POST"))

    eq_(r(Request.blank('/', POST={})), "root")
    eq_(r(Request.blank('/path_str')), "get")
    eq_(r(Request.blank('/path_str', POST={})), "post")
    eq_(r(Request.blank('/path_list')), "get-post")
    eq_(r(Request.blank('/path_list', POST={})), "get-post")
    eq_(r(Request.blank('/path_list', method="HEAD")), "get-post")
Example #22
0
def test_reverse():
    from simplerouter import Router

    root_view = view_factory('root')
    path_view = view_factory('path')
    path_slash_view = view_factory('path_slash')
    path_var_view = view_factory('path_var')
    path_info_view = view_factory('path_info')

    r = Router()
    r.add_route('/', root_view)
    r.add_route('/path', path_view)
    r.add_route('/path/', path_slash_view)
    r.add_route('/path/{element}', path_var_view)
    r.add_route('/pi/{a}', path_info_view, path_info=True)
    r.add_route('/blank', 'simplerouter:blank_view')

    eq_(r.reverse(root_view), '/')
    eq_(r.reverse(path_view), '/path')
    eq_(r.reverse(path_slash_view), '/path/')
    eq_(r.reverse(path_var_view, {'element' : 'pie'}), '/path/pie')
    eq_(r.reverse(path_info_view, {'a' : 'apple'}, '/and/banana'), '/pi/apple/and/banana')
    eq_(r.reverse('simplerouter:blank_view'), '/blank')
Example #23
0
def test_priority():
    from simplerouter import Router

    r = Router()
    r.add_route('/1', view_factory('low'), priority=-1)
    r.add_route('/1', view_factory('normal'))
    eq_(r(Request.blank('/1')), "normal")

    r.add_route('/2', view_factory('normal'))
    r.add_route('/2', view_factory('low'), priority=-1)
    eq_(r(Request.blank('/2')), "normal")

    r = Router()
    r.add_route('/3', view_factory('high'), priority=1)
    r.add_route('/3', view_factory('normal'))
    r.add_route('/3', view_factory('low'), priority=-1)
    eq_(r(Request.blank('/3')), "high")
Example #24
0
def start_server():
    print("Starting server at port 8080")
    router = Router()

    router.add_route("/", "views:index")
    router.add_route("/index.html", "views:index")
    router.add_route("/trainNet", "views:trainNet")
    router.add_route("/trainProgress", "views:getTrainingProgress")
    router.add_route("/predict/{image}", "views:predict")
    router.add_route("/test", "views:test")
    router.add_route("/save", "views:save")
    router.add_route("/load", "views:load")
    router.add_route("/models", "views:get_models")
    router.add_route("/loadModel/{name}", "views:load_model")

    application = router.as_wsgi

    make_server('', 8080, application).serve_forever()
Example #25
0
            if preset.get(device) == None:
                break
            elif not isinstance(preset.get(device),
                                dict) or preset.get(device).get('alt') == None:
                status = func(**preset[device])
                response["success"] = True
                response[device] = status
                break
                #return Response(json={'success': True, 'colour': colour, 'fan': status['fan'], 'pump': status['pump'], 'temp': status['temp']})
            else:
                c = preset.get(device).get('alt')

    return Response(json=response)


router = Router()

router.add_route('/colour/{colour}', colour)
application = router.as_wsgi

active = {}

if __name__ == '__main__':
    with open(PRESETS_PATH + "\\" + PRESETS_FILE) as file:
        presets = json.loads(file.read())
    X41 = Kraken(NZXT_VENDOR_ID, X41_PRODUCT_ID)
    active["x41"] = X41.light_X41
    hue = Hue('COM3')
    active["hue_controller"] = hue.light_controller
    active["hue"] = hue.light_strip