async def user_file(req, resp, *, file_url): user_id = backapp.verify_user((await req.media())['token']) if user_id: with open(urllib.parse.unquote(file_url), 'r') as f: resp.text = f.read() else: resp.text = ''
async def manage_project(req, resp, *, command, name): user_id = backapp.verify_user((await req.media())['token']) name = urllib.parse.unquote(name) if user_id: if command == 'create': backapp.create_project(user_id, name) elif command == 'delete': backapp.delete_project(user_id, name)
async def load_project(req, resp): user_id = backapp.verify_user((await req.media())['token']) if user_id: resp.media = dict( { 'valid': '1', 'user_name': backapp.username(user_id) }, **backapp.load_project(user_id)) else: resp.media = {'valid': '0'}
async def ws_terminal(ws): await ws.accept() data = await ws.receive_json() project = data['project'] user_id = backapp.verify_user(data['token']) try: while user_id is not False: data = await ws.receive_json() if user_id != backapp.verify_user(data['token']): break if len(data['command'].split()) > 0: res = backapp.run_command(user_id, project, data['command'].split()).stdout if res is None: res = ''.encode('utf-8') await ws.send_json({'result': res.decode('utf-8')}) except: pass await ws.close()
async def github_kusa(req, resp): user_id = backapp.verify_user((await req.media())['token']) if user_id: github_name = backapp.github_user(user_id) resp.media = { 'github_name': github_name, 'garden': backapp.github_kusa(github_name) } else: resp.media = { 'github_name': '', }
async def todoList_handler(req, resp, *, mode): data = await req.media() user_id = backapp.verify_user(data['token']) if mode == 'load': resp.media = backapp.load_todoList(user_id) elif mode == 'createlist': backapp.create_todoList(user_id, data['list_name'], '') elif mode == 'createelement': backapp.create_todoList(user_id, data['list_name'], data['name']) elif mode == 'deletelist': backapp.deletelist_todoList(user_id, data['list_name']) elif mode == 'doneelement': backapp.deleteelement_todoList(user_id, data['list_name'], data['name'], 'done') elif mode == 'deleteelement': backapp.deleteelement_todoList(user_id, data['list_name'], data['name'], 'delete')
async def fileupload(req, resp, *, file_url): data = await req.media() user_id = backapp.verify_user(data['token']) if user_id: with open(urllib.parse.unquote(file_url), 'w') as f: f.write(data['data'])