add response type options

This commit is contained in:
iou1name 2019-10-08 16:18:19 -04:00
parent 168272761a
commit eb3679a005

View File

@ -31,6 +31,7 @@ async def index(request):
return render_template("index.html", request, locals()) return render_template("index.html", request, locals())
data = await request.post() data = await request.post()
rand_name = bool(data.get('rand_name')) rand_name = bool(data.get('rand_name'))
response_type = data.get('reponse_type')
files = [] files = []
for filefield in data.getall('files'): for filefield in data.getall('files'):
@ -59,13 +60,20 @@ async def index(request):
for file in files: for file in files:
t = (int(request.cookies.get('userid')), file[0], file[1], expiration_date) t = (int(request.cookies.get('userid')), file[0], file[1], expiration_date)
files_insert.append(t) files_insert.append(t)
async with request.app['pool'] as conn:
async with request.app['pool'].acquire() as conn:
await conn.executemany( await conn.executemany(
"INSERT INTO upload (user_id, id, filename, expiration_date) " "INSERT INTO upload (user_id, id, filename, expiration_date) "
"VALUES ($1, $2, $3, $4)", "VALUES ($1, $2, $3, $4)",
files_insert) files_insert)
urls = [config.upload_url + f[1] for f in files] urls = [config.upload_url + f[1] for f in files]
return render_template("result.html", request, locals()) if response_type == 'html':
return render_template("result.html", request, locals())
elif response_type == 'plain':
return web.Response(body='\n'.join(urls))
elif response_type == 'json':
return web.json_response(urls)
@routes.get('/gallery/{user_id}', name='gallery') @routes.get('/gallery/{user_id}', name='gallery')
@ -76,7 +84,7 @@ async def gallery(request):
except ValueError: except ValueError:
raise web.HTTPNotFound raise web.HTTPNotFound
async with request.app['pool'] as conn: async with request.app['pool'].acquire() as conn:
uploads = await conn.fetch( uploads = await conn.fetch(
"SELECT * FROM upload WHERE user_id = $1", "SELECT * FROM upload WHERE user_id = $1",
user_id) user_id)