fix bug: result dedup

master
wlt233 3 weeks ago
parent cbe2a9f30f
commit 0747b86fd0

@ -75,7 +75,6 @@ async def tweet_detail():
try: try:
data = await get_detail(tweet_id) data = await get_detail(tweet_id)
data = parse_detail(data) data = parse_detail(data)
data = list({ t["rest_id"]: t for t in data }.values())
return jsonify(data) return jsonify(data)
except Exception as e: except Exception as e:
logger.error(f"Tweet detail api error: {e}") logger.error(f"Tweet detail api error: {e}")

@ -16,6 +16,7 @@ def parse_timeline(data):
logger.error(f"Error when parsing entry: {e} {e.args}") logger.error(f"Error when parsing entry: {e} {e.args}")
logger.error(f"\n{traceback.format_exc()}") logger.error(f"\n{traceback.format_exc()}")
logger.error(f"\n{pformat(entry)}") logger.error(f"\n{pformat(entry)}")
result = list({ t["rest_id"]: t for t in result }.values())
result.sort(key=lambda x: x["timestamp"], reverse=True) result.sort(key=lambda x: x["timestamp"], reverse=True)
return result return result
@ -191,5 +192,6 @@ def parse_detail(data):
logger.error(f"\n{traceback.format_exc()}") logger.error(f"\n{traceback.format_exc()}")
logger.error(f"\n{pformat(entry)}") logger.error(f"\n{pformat(entry)}")
result = [r for r in result if not r["screen_name"] in ["premium"]] result = [r for r in result if not r["screen_name"] in ["premium"]]
result = list({ t["rest_id"]: t for t in result }.values())
result.sort(key=lambda x: x["timestamp"]) result.sort(key=lambda x: x["timestamp"])
return result return result
Loading…
Cancel
Save