Commit 1e268b41 authored by nanahira's avatar nanahira

better logic

parent 4a329d55
Pipeline #36917 passed with stages
in 59 seconds
...@@ -210,7 +210,12 @@ def checkCookies(): ...@@ -210,7 +210,12 @@ def checkCookies():
bad.append(cookie) bad.append(cookie)
return good, bad return good, bad
def extract_tweet(tweet):
if 'rest_id' in tweet:
return tweet
if 'tweet' in tweet and 'rest_id' in tweet['tweet']:
return tweet['tweet']
return None
@app.route("/<screen_name>") @app.route("/<screen_name>")
def searchban(screen_name): def searchban(screen_name):
...@@ -389,8 +394,10 @@ def searchban(screen_name): ...@@ -389,8 +394,10 @@ def searchban(screen_name):
for entry_item in item['entries']: for entry_item in item['entries']:
if not entry_item['entryId'].startswith('tweet-'): if not entry_item['entryId'].startswith('tweet-'):
continue continue
found_id = entry_item['content']['itemContent']['tweet_results']['result']['rest_id'] tweet = extract_tweet(entry_item['content']['itemContent']['tweet_results']['result'])
break if tweet is None:
continue
found_id = tweet['rest_id']
if found_id: if found_id:
break break
if found_id: if found_id:
...@@ -455,8 +462,8 @@ def searchban(screen_name): ...@@ -455,8 +462,8 @@ def searchban(screen_name):
if not ghostban: if not ghostban:
# all checks done # all checks done
break break
if ent["entryId"].startswith("tweet") and "legacy" in ent["content"]["itemContent"]["tweet_results"]["result"]: if ent["entryId"].startswith("tweet") and "legacy" in extract_tweet(ent["content"]["itemContent"]["tweet_results"]["result"]):
tmp = ent["content"]["itemContent"]["tweet_results"]["result"]["legacy"] tmp = extract_tweet(ent["content"]["itemContent"]["tweet_results"]["result"])["legacy"]
if "in_reply_to_status_id_str" in tmp and tmp["in_reply_to_status_id_str"] not in checkedTweets: if "in_reply_to_status_id_str" in tmp and tmp["in_reply_to_status_id_str"] not in checkedTweets:
reply = tmp reply = tmp
tweetId = reply["in_reply_to_status_id_str"] tweetId = reply["in_reply_to_status_id_str"]
...@@ -495,8 +502,8 @@ def searchban(screen_name): ...@@ -495,8 +502,8 @@ def searchban(screen_name):
print("Current entry of {} is: {}".format(screen_name, ent["entryId"])) print("Current entry of {} is: {}".format(screen_name, ent["entryId"]))
if ent["entryId"].startswith("conversationthread") and ghostban: if ent["entryId"].startswith("conversationthread") and ghostban:
for item in ent["content"]["items"]: for item in ent["content"]["items"]:
if "tweet_results" in item["item"]["itemContent"] and "legacy" in item["item"]["itemContent"]["tweet_results"]["result"] and item["item"]["itemContent"]["tweet_results"]["result"]["legacy"]["user_id_str"] == user_id: if "tweet_results" in item["item"]["itemContent"] and "legacy" in extract_tweet(item["item"]["itemContent"]["tweet_results"]["result"]) and extract_tweet(item["item"]["itemContent"]["tweet_results"]["result"])["legacy"]["user_id_str"] == user_id:
replyId = item["item"]["itemContent"]["tweet_results"]["result"]["legacy"]["id_str"] replyId = extract_tweet(item["item"]["itemContent"]["tweet_results"]["result"])["legacy"]["id_str"]
returnjson["tests"]["ghost"] = {"ban": False, "tweet": tweetId, "in_reply_to": replyId} returnjson["tests"]["ghost"] = {"ban": False, "tweet": tweetId, "in_reply_to": replyId}
ghostban = False ghostban = False
print("Found valid reply {} => {}, so {} is not ghost banned.".format(tweetId, replyId, screen_name)) print("Found valid reply {} => {}, so {} is not ghost banned.".format(tweetId, replyId, screen_name))
...@@ -518,8 +525,8 @@ def searchban(screen_name): ...@@ -518,8 +525,8 @@ def searchban(screen_name):
if c_ent["entryId"].startswith("conversationthread"): if c_ent["entryId"].startswith("conversationthread"):
print("Checking more contents of {} by {}".format(tweetId, screen_name)) print("Checking more contents of {} by {}".format(tweetId, screen_name))
for c_item in c_ent["content"]["items"]: for c_item in c_ent["content"]["items"]:
if "legacy" in c_item["item"]["itemContent"]["tweet_results"]["result"] and c_item["item"]["itemContent"]["tweet_results"]["result"]["legacy"]["user_id_str"] == user_id: if "legacy" in extract_tweet(c_item["item"]["itemContent"]["tweet_results"]["result"]) and extract_tweet(c_item["item"]["itemContent"]["tweet_results"]["result"])["legacy"]["user_id_str"] == user_id:
replyId = c_item["item"]["itemContent"]["tweet_results"]["result"]["legacy"]["id_str"] replyId = extract_tweet(c_item["item"]["itemContent"]["tweet_results"]["result"])["legacy"]["id_str"]
returnjson["tests"]["more_replies"] = {"ban": True, "in_reply_to": replyId, "tweet": tweetId} returnjson["tests"]["more_replies"] = {"ban": True, "in_reply_to": replyId, "tweet": tweetId}
print("{} is reply deboosted because of {} => {}.".format(screen_name, tweetId, replyId)) print("{} is reply deboosted because of {} => {}.".format(screen_name, tweetId, replyId))
showmore = True showmore = True
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment