Ejemplo n.º 1
0
async def serve_runwidget_post(request):
    path = 'wg' + request.match_info['module']
    job_id, dbpath = await get_jobid_dbpath(request)
    queries = await request.post()
    new_queries = {}
    for k in queries:
        val = queries[k]
        if val == '':
            val = '""'
        elif val.startswith('{') and val.endswith('}'):
            pass
        elif val.startswith('[') and val.endswith(']'):
            pass
        else:
            val = '"' + val + '"'
        val = json.loads(val)
        new_queries[k] = val
    queries = new_queries
    if ('dbpath' not in queries
            or queries['dbpath'] == '') and dbpath is not None:
        new_queries = {}
        new_queries['dbpath'] = dbpath
        for key in queries:
            if key != 'dbpath':
                new_queries[key] = queries[key]
        queries = new_queries
    f, fn, d = imp.find_module(
        path, [os.path.join(au.get_modules_dir(), 'webviewerwidgets', path)])
    m = imp.load_module(path, f, fn, d)
    content = await m.get_data(queries)
    return web.json_response(content)
Ejemplo n.º 2
0
def serve_widgetfile(request):
    filepath = os.path.join(au.get_modules_dir(), 'webviewerwidgets',
                            request.match_info['module_dir'],
                            request.match_info['filename'])
    if os.path.exists(filepath):
        response = web.FileResponse(filepath)
        response.headers['Cache-Control'] = 'no-cache'
        return response
Ejemplo n.º 3
0
def reset_system_conf(request):
    d = au.read_system_conf_template()
    md = au.get_modules_dir()
    jobs_dir = au.get_jobs_dir()
    d['modules_dir'] = md
    d['jobs_dir'] = jobs_dir
    au.write_system_conf_file(d)
    return web.json_response({'status': 'success', 'dict': yaml.dump(d)})
Ejemplo n.º 4
0
def serve_widgetfile(handler):
    module_name, ext = os.path.splitext(handler.request_path)
    filepath = os.path.join(au.get_modules_dir(), 'webviewerwidgets',
                            handler.request_path)
    #module_name,
    #module_name + ext)
    if os.path.exists(filepath):
        serve_view(handler, filepath)
Ejemplo n.º 5
0
async def serve_runwidget(request):
    path = 'wg' + request.match_info['module']
    queries = request.rel_url.query
    f, fn, d = imp.find_module(
        path, [os.path.join(au.get_modules_dir(), 'webviewerwidgets', path)])
    m = imp.load_module(path, f, fn, d)
    content = await m.get_data(queries)
    return web.json_response(content)
Ejemplo n.º 6
0
def serve_runwidget(handler):
    path = 'wg' + handler.request_path
    queries = handler.request_queries
    f, fn, d = imp.find_module(
        path, [os.path.join(au.get_modules_dir(), 'webviewerwidgets', path)])
    m = imp.load_module(path, f, fn, d)
    ret = m.get_data(queries)
    handler.send_response(200)
    handler.send_header('Content-type', 'application/json')
    handler.end_headers()
    content = json.dumps(ret)
    response = bytes(content, 'UTF-8')
    handler.wfile.write(response)
Ejemplo n.º 7
0
async def serve_webapp_runwidget(request):
    module_name = request.match_info['module']
    widget_name = request.match_info['widget']
    queries = request.rel_url.query
    tmp_queries = {}
    for key in queries:
        tmp_queries[key] = queries[key]
    queries = tmp_queries
    f, fn, d = imp.find_module('wg' + widget_name, [
        os.path.join(au.get_modules_dir(), 'webapps', module_name, 'widgets',
                     'wg' + widget_name)
    ])
    m = imp.load_module(widget_name, f, fn, d)
    content = await m.get_data(queries)
    return web.json_response(content)
Ejemplo n.º 8
0
async def serve_runwidget(request):
    path = 'wg' + request.match_info['module']
    queries = request.rel_url.query
    job_id, dbpath = await get_jobid_dbpath(request)
    if ('dbpath' not in queries
            or queries['dbpath'] == '') and dbpath is not None:
        new_queries = {}
        new_queries['dbpath'] = dbpath
        for key in queries:
            if key != 'dbpath':
                new_queries[key] = queries[key]
        queries = new_queries
    f, fn, d = imp.find_module(
        path, [os.path.join(au.get_modules_dir(), 'webviewerwidgets', path)])
    m = imp.load_module(path, f, fn, d)
    content = await m.get_data(queries)
    return web.json_response(content)
Ejemplo n.º 9
0
 def set_modules_dir(args):
     if args.directory:
         au.set_modules_dir(args.directory)
     print(au.get_modules_dir())
Ejemplo n.º 10
0
async def get_free_modules_space(request):
    modules_dir = au.get_modules_dir()
    free_space = shutil.disk_usage(modules_dir).free
    return web.json_response(free_space)
Ejemplo n.º 11
0
async def get_md(request):
    modules_dir = au.get_modules_dir()
    return web.Response(text=modules_dir)
Ejemplo n.º 12
0
def serve_widgetfile(request):
    filepath = os.path.join(au.get_modules_dir(), 'webviewerwidgets',
                            request.match_info['module_dir'],
                            request.match_info['filename'])
    if os.path.exists(filepath):
        return web.FileResponse(filepath)