Beispiel #1
0
    def post_tweet_with_media(self, tweet, media_url, shorted_media_url, type):
        try:
            print("shorted url" + shorted_media_url)
            print("Downloading media...")
            arr = str(media_url).split('/')
            print(arr[len(arr) - 1])
            if type == 'video':
                arr = arr[len(arr) - 1].split("?tag=1")
                arr = arr[0]
            elif type == 'photo':
                arr = arr[len(arr) - 1]
            if type == 'animated_gif':
                arr = arr[len(arr) - 1].split()
                arr = arr[0]

            auth = OAuth1(
                client_key=os.environ.get("CONSUMER_KEY"),
                client_secret=os.environ.get("CONSUMER_SCRET"),
                resource_owner_secret=os.environ.get("ACCESS_SECRET"),
                resource_owner_key=os.environ.get("ACCESS_KEY"))
            r = requests.get(media_url, auth=auth)
            with open(arr, 'wb') as f:
                f.write(r.content)

            print("Media downloaded successfully!")
            if shorted_media_url in tweet:
                print("shorted url " + str(shorted_media_url))
                tweet = tweet.replace(shorted_media_url, "")
            else:
                print("kagak ada")
            if type == 'video':
                videoTweet = VideoTweet(arr)
                videoTweet.upload_init()
                videoTweet.upload_append()
                videoTweet.upload_finalize()
                videoTweet.tweet(tweet)
            elif type == 'photo':
                self.api.update_with_media(filename=arr, status=tweet)
            elif type == 'animated_gif':
                videoTweet = VideoTweet(arr)
                videoTweet.upload_init()
                videoTweet.upload_append()
                videoTweet.upload_finalize()
                videoTweet.tweet(tweet)

            os.remove(arr)

            print("Upload with media success!")

        except Exception as e:
            print(e)
            pass
Beispiel #2
0
 def Thread(self, name, type, tweet):
     try:
         left = 0
         right = 272
         leftcheck = 260
         check = tweet[leftcheck:right].split(' ')
         separator = len(check[-1])
         tweet1 = tweet[left:right - separator] + '(cont..)'
         if type == 'photo' or type == 'animated_gif':
             complete = self.api.update_with_media(filename=name,
                                                   status=tweet1).id
         elif type == 'video':
             videoTweet = VideoTweet(name)
             videoTweet.upload_init()
             videoTweet.upload_append()
             videoTweet.upload_finalize()
             complete = videoTweet.Tweet(tweet1)
         elif type == 'normal':
             complete = self.api.update_status(tweet1).id
         time.sleep(10)
         tweet2 = tweet[right - separator:len(tweet)]
         while len(tweet2) > 280:
             leftcheck += 272
             left += 272
             right += 272
             check = tweet[leftcheck:right]
             separator = len(check[-1])
             tweet2 = tweet[left:right - separator] + '(cont..)'
             complete = self.api.update_status(
                 tweet2,
                 in_reply_to_status_id=complete,
                 auto_populate_reply_metadata=True).id
             time.sleep(10)
             tweet2 = tweet[right - separator:len(tweet)]
         self.api.update_status(tweet2,
                                in_reply_to_status_id=complete,
                                auto_populate_reply_metadata=True)
         time.sleep(10)
     except Exception as ex:
         print(ex)
         time.sleep(30)
         pass