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)
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
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)})
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)
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)
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)
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)
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)
def set_modules_dir(args): if args.directory: au.set_modules_dir(args.directory) print(au.get_modules_dir())
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)
async def get_md(request): modules_dir = au.get_modules_dir() return web.Response(text=modules_dir)
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)