diff --git a/server.py b/server.py index 6415781..deec7c3 100644 --- a/server.py +++ b/server.py @@ -75,7 +75,6 @@ async def tweet_detail(): try: data = await get_detail(tweet_id) data = parse_detail(data) - data = list({ t["rest_id"]: t for t in data }.values()) return jsonify(data) except Exception as e: logger.error(f"Tweet detail api error: {e}") diff --git a/src/twi_parser.py b/src/twi_parser.py index 985c3ef..09ef416 100644 --- a/src/twi_parser.py +++ b/src/twi_parser.py @@ -16,6 +16,7 @@ def parse_timeline(data): logger.error(f"Error when parsing entry: {e} {e.args}") logger.error(f"\n{traceback.format_exc()}") 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) return result @@ -191,5 +192,6 @@ def parse_detail(data): logger.error(f"\n{traceback.format_exc()}") logger.error(f"\n{pformat(entry)}") 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"]) return result \ No newline at end of file