Display quoted tweets properly when original_tweet is made with Twishort

This commit is contained in:
Manuel Cortez 2018-03-14 11:34:49 -06:00
parent a16f16d36d
commit b1c5ddbca8
3 changed files with 24 additions and 9 deletions

View File

@ -2,6 +2,7 @@
## changes in this version ## changes in this version
* When you quote a Tweet, if the original tweet was posted with Twishort, TWBlue should display properly the quoted tweet. Before it was displaying the original tweet only. ([#206](https://github.com/manuelcortez/TWBlue/issues/206))
* It is possible to filter by retweets, quotes and replies when creating a new filter. * It is possible to filter by retweets, quotes and replies when creating a new filter.
* Added support for playing youtube Links directly from the client. ([#94](https://github.com/manuelcortez/TWBlue/issues/94)) * Added support for playing youtube Links directly from the client. ([#94](https://github.com/manuelcortez/TWBlue/issues/94))
* Replaced Bass with libVLC for playing URL streams. * Replaced Bass with libVLC for playing URL streams.

View File

@ -484,6 +484,8 @@ class Session(object):
original_tweet = self.check_long_tweet(original_tweet) original_tweet = self.check_long_tweet(original_tweet)
if original_tweet.has_key("full_text"): if original_tweet.has_key("full_text"):
value = "full_text" value = "full_text"
elif original_tweet.has_key("message"):
value = "message"
else: else:
value = "text" value = "text"
urls = utils.find_urls_in_text(original_tweet[value]) urls = utils.find_urls_in_text(original_tweet[value])
@ -495,12 +497,22 @@ class Session(object):
def check_long_tweet(self, tweet): def check_long_tweet(self, tweet):
long = twishort.is_long(tweet) long = twishort.is_long(tweet)
if long != False and config.app["app-settings"]["handle_longtweets"]: if long != False and config.app["app-settings"]["handle_longtweets"]:
tweet["message"] = twishort.get_full_text(long) message = twishort.get_full_text(long)
if tweet["message"] == False: return False if tweet.has_key("quoted_status"):
tweet["twishort"] = True tweet["quoted_status"]["message"] = message
for i in tweet["entities"]["user_mentions"]: if tweet["quoted_status"]["message"] == False: return False
if "@%s" % (i["screen_name"]) not in tweet["message"] and i["screen_name"] != tweet["user"]["screen_name"]: tweet["quoted_status"]["twishort"] = True
if tweet.has_key("retweeted_status") and tweet["retweeted_status"]["user"]["screen_name"] == i["screen_name"]: for i in tweet["quoted_status"]["entities"]["user_mentions"]:
continue if "@%s" % (i["screen_name"]) not in tweet["quoted_status"]["message"] and i["screen_name"] != tweet["user"]["screen_name"]:
tweet["message"] = u"@%s %s" % (i["screen_name"], tweet["message"]) if tweet["quoted_status"].has_key("retweeted_status") and tweet["retweeted_status"]["user"]["screen_name"] == i["screen_name"]:
continue
tweet["quoted_status"]["message"] = u"@%s %s" % (i["screen_name"], tweet["message"])
else:
tweet["message"] = message
if tweet["message"] == False: return False
tweet["twishort"] = True
for i in tweet["entities"]["user_mentions"]:
if "@%s" % (i["screen_name"]) not in tweet["message"] and i["screen_name"] != tweet["user"]["screen_name"]:
if tweet.has_key("retweeted_status") and tweet["retweeted_status"]["user"]["screen_name"] == i["screen_name"]:
continue
return tweet return tweet

View File

@ -127,7 +127,9 @@ def compose_quoted_tweet(quoted_tweet, original_tweet, show_screen_names=False):
text = "rt @%s: %s" % (quoted_tweet["retweeted_status"]["user"]["screen_name"], text) text = "rt @%s: %s" % (quoted_tweet["retweeted_status"]["user"]["screen_name"], text)
if text[-1] in chars: text=text+"." if text[-1] in chars: text=text+"."
original_user = original_tweet["user"]["screen_name"] original_user = original_tweet["user"]["screen_name"]
if original_tweet.has_key("full_text"): if original_tweet.has_key("message"):
original_text = original_tweet["message"]
elif original_tweet.has_key("full_text"):
original_text = StripChars(original_tweet["full_text"]) original_text = StripChars(original_tweet["full_text"])
else: else:
original_text = StripChars(original_tweet["text"]) original_text = StripChars(original_tweet["text"])