fix bug: parse_entry

master
wlt233 3 weeks ago
parent 437977585c
commit cbe2a9f30f

@ -75,6 +75,7 @@ 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}")

@ -26,11 +26,19 @@ def parse_entry(entry):
elif ("list-conversation" in entry_id or "conversationthread" in entry_id \ elif ("list-conversation" in entry_id or "conversationthread" in entry_id \
and not "tweet" in entry_id): and not "tweet" in entry_id):
for item in entry["content"]["items"]: for item in entry["content"]["items"]:
if "promoted" in item["entryId"]: continue
data = parse_content(item["item"]) data = parse_content(item["item"])
if data: result.append(data) if data: result.append(data)
elif "cursor" in entry_id or "bottom" in entry_id: elif "cursor" in entry_id or "bottom" in entry_id:
pass pass
elif entry["content"]["__typename"] != 'TimelineTimelineCursor': elif entry["content"]["__typename"] != 'TimelineTimelineCursor':
if "items" in entry["content"]:
for item in entry["content"]["items"]:
data = parse_content(item["item"])
if data: result.append(data)
else:
data = parse_content(entry["content"])
if data: result.append(data)
data = parse_content(entry["content"]) data = parse_content(entry["content"])
if data: result.append(data) if data: result.append(data)
return result return result

Loading…
Cancel
Save