def get_full_tweet(self): tweet = self.get_right_tweet() tweetsList = [] tweet_id = tweet["id"] uri = None if tweet.has_key("long_uri"): uri = tweet["long_uri"] try: tweet = self.session.twitter.twitter.show_status(id=tweet_id) urls = utils.find_urls_in_text(tweet["text"]) for url in range(0, len(urls)): try: tweet["text"] = tweet["text"].replace(urls[url], tweet["entities"]["urls"][url]["expanded_url"]) except IndexError: pass except TwythonError as e: utils.twitter_error(e) return if uri != None: tweet["text"] = twishort.get_full_text(uri) l = tweets.is_long(tweet) while l != False: tweetsList.append(tweet) id = tweets.get_id(l) try: tweet = self.session.twitter.twitter.show_status(id=id) urls = utils.find_urls_in_text(tweet["text"]) for url in range(0, len(urls)): try: tweet["text"] = tweet["text"].replace(urls[url], tweet["entities"]["urls"][url]["expanded_url"]) except IndexError: pass except TwythonError as e: utils.twitter_error(e) return l = tweets.is_long(tweet) if l == False: tweetsList.append(tweet) return (tweet, tweetsList)
def get_quoted_tweet(self, tweet): quoted_tweet = tweet urls = utils.find_urls_in_text(quoted_tweet["text"]) for url in range(0, len(urls)): try: quoted_tweet["text"] = quoted_tweet["text"].replace(urls[url], quoted_tweet["entities"]["urls"][url]["expanded_url"]) except IndexError: pass l = tweets.is_long(quoted_tweet) id = tweets.get_id(l) try: original_tweet = self.twitter.twitter.show_status(id=id) except: return quoted_tweet urls = utils.find_urls_in_text(original_tweet["text"]) for url in range(0, len(urls)): try: original_tweet["text"] = original_tweet["text"].replace(urls[url], original_tweet["entities"]["urls"][url]["expanded_url"]) except IndexError: pass return compose.compose_quoted_tweet(quoted_tweet, original_tweet)
def unshorten(self, event=None): urls = utils.find_urls_in_text(self.message.get_text()) if len(urls) == 0: output.speak(_(u"There's no URL to be expanded")) self.message.text_focus() elif len(urls) == 1: self.message.set_text(self.message.get_text().replace(urls[0], url_shortener.unshorten(urls[0]))) output.speak(_(u"URL expanded")) self.message.text_focus() elif len(urls) > 1: list_urls = urlList.urlList() list_urls.populate_list(urls) if list_urls.get_response() == widgetUtils.OK: self.message.set_text(self.message.get_text().replace(urls[list_urls.get_item()], url_shortener.unshorten(list_urls.get_string()))) output.speak(_(u"URL expanded")) self.message.text_focus()
def unshorten(self, event=None): urls = utils.find_urls_in_text(self.message.get_text()) if len(urls) == 0: output.speak(_(u"There's no URL to be expanded")) self.message.text_focus() elif len(urls) == 1: self.message.set_text(self.message.get_text().replace( urls[0], url_shortener.unshorten(urls[0]))) output.speak(_(u"URL expanded")) self.message.text_focus() elif len(urls) > 1: list_urls = urlList.urlList() list_urls.populate_list(urls) if list_urls.get_response() == widgetUtils.OK: self.message.set_text(self.message.get_text().replace( urls[list_urls.get_item()], url_shortener.unshorten(list_urls.get_string()))) output.speak(_(u"URL expanded")) self.message.text_focus()
def clear_text(self, text): urls = utils.find_urls_in_text(text) for i in urls: if "https://twitter.com/" in i: text = text.replace(i, "") return text
def contain_urls(self): if len(utils.find_urls_in_text(self.message.get_text())) > 0: return True return False
def clear_url(tweet): urls = utils.find_urls_in_text(tweet["text"]) try: tweet["message"] = tweet["message"].replace(urls[-1], "") except IndexError: pass return tweet