Compare commits
2 commits
930b48e55b
...
adbb2d532b
Author | SHA1 | Date | |
---|---|---|---|
adbb2d532b | |||
834a693282 |
2 changed files with 27 additions and 10 deletions
|
@ -98,8 +98,8 @@ async def main_with_ctx(ctx, wanted_date):
|
||||||
|
|
||||||
# write to output
|
# write to output
|
||||||
log.info("copying temp to output")
|
log.info("copying temp to output")
|
||||||
with output_path.open(mode="wb") as output_fd:
|
with output_path.open(mode="wb") as output_fdout:
|
||||||
shutil.copyfileobj(temp_fd, output_fd)
|
shutil.copyfileobj(temp_fd, output_fdout)
|
||||||
|
|
||||||
# decompress
|
# decompress
|
||||||
for url_type, _url in urls.items():
|
for url_type, _url in urls.items():
|
||||||
|
|
|
@ -150,16 +150,33 @@ async def posts_json():
|
||||||
if len(tags) != 1:
|
if len(tags) != 1:
|
||||||
return "unsupported query (only 1 tag)", 400
|
return "unsupported query (only 1 tag)", 400
|
||||||
|
|
||||||
md5_tag = tags[0]
|
first_tag = tags[0]
|
||||||
if not md5_tag.startswith("md5:"):
|
tag_parts = first_tag.split(":")
|
||||||
return "unsupported query (only md5 for now)", 400
|
if len(tag_parts) != 2:
|
||||||
|
return "unsupported query (tag must be a:b format)", 400
|
||||||
|
|
||||||
md5_prefix, md5_hexencoded_hash = md5_tag.split(":")
|
type, value = tag_parts
|
||||||
assert md5_prefix == "md5"
|
if type not in ("md5", "id"):
|
||||||
|
return (
|
||||||
|
"unsupported query (tag must be a:b format, and a must be id or md5)",
|
||||||
|
400,
|
||||||
|
)
|
||||||
|
|
||||||
|
if type == "md5":
|
||||||
|
md5_hexencoded_hash = value
|
||||||
rows = await app.db.execute_fetchall(
|
rows = await app.db.execute_fetchall(
|
||||||
"select * from posts where md5 = ?", (md5_hexencoded_hash,)
|
"select * from posts where md5 = ?", (md5_hexencoded_hash,)
|
||||||
)
|
)
|
||||||
|
elif type == "id":
|
||||||
|
try:
|
||||||
|
value = int(value)
|
||||||
|
except ValueError:
|
||||||
|
return "id:x x must be int", 400
|
||||||
|
rows = await app.db.execute_fetchall(
|
||||||
|
"select * from posts where id = ?", (value,)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
raise AssertionError("must be id or md5")
|
||||||
if not rows:
|
if not rows:
|
||||||
return {"posts": []}
|
return {"posts": []}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue