From 7457521398cf0f6fe2d004923f2d194754cc7ccc Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Wed, 20 Jan 2021 10:35:11 -0600 Subject: [PATCH] Restored media uploading (needs testing). Fixes #240 --- src/controller/buffers/twitterBuffers.py | 17 +++++++++-------- src/wxUI/dialogs/attach.py | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/controller/buffers/twitterBuffers.py b/src/controller/buffers/twitterBuffers.py index fb07cb2e..227eaaeb 100644 --- a/src/controller/buffers/twitterBuffers.py +++ b/src/controller/buffers/twitterBuffers.py @@ -84,6 +84,7 @@ class baseBufferController(baseBuffers.buffer): return _(u"Unknown buffer") def post_status(self, *args, **kwargs): + item = None title = _(u"Tweet") caption = _(u"Write the tweet here") tweet = messages.tweet(self.session, title, caption, "") @@ -99,22 +100,22 @@ class baseBufferController(baseBuffers.buffer): text = twishort.create_tweet(self.session.settings["twitter"]["user_key"], self.session.settings["twitter"]["user_secret"], text, 1) if not hasattr(tweet, "attachments") or len(tweet.attachments) == 0: item = self.session.api_call(call_name="update_status", status=text, _sound="tweet_send.ogg", tweet_mode="extended") -# else: -# call_threaded(self.post_with_media, text=text, attachments=tweet.attachments, _sound="tweet_send.ogg") + else: + call_threaded(self.post_with_media, text=text, attachments=tweet.attachments) if item != None: pub.sendMessage("sent-tweet", data=item, user=self.session.db["user_name"]) if hasattr(tweet.message, "destroy"): tweet.message.destroy() self.session.settings.write() - # ToDo: Update to tweepy. def post_with_media(self, text, attachments): media_ids = [] for i in attachments: - photo = open(i["file"], "rb") - img = self.session.twitter.upload_media(media=photo) - self.session.twitter.create_metadata(media_id=img["media_id"], alt_text=dict(text=i["description"])) - media_ids.append(img["media_id"]) - self.session.twitter.update_status(status=text, media_ids=media_ids) + img = self.session.twitter.media_upload(i["file"]) + self.session.twitter.create_media_metadata(media_id=img.media_id, alt_text=i["description"]) + media_ids.append(img.media_id) + item = self.session.twitter.update_status(status=text, media_ids=media_ids) + if item != None: + pub.sendMessage("sent-tweet", data=item, user=self.session.db["user_name"]) def get_formatted_message(self): if self.type == "dm" or self.name == "direct_messages": diff --git a/src/wxUI/dialogs/attach.py b/src/wxUI/dialogs/attach.py index 37ac6f21..ea8d35c1 100644 --- a/src/wxUI/dialogs/attach.py +++ b/src/wxUI/dialogs/attach.py @@ -41,7 +41,7 @@ class attachDialog(widgetUtils.BaseDialog): return (openFileDialog.GetPath(), dsc) def ask_description(self): - dlg = wx.TextEntryDialog(self, _(u"please provide a description"), _(u"Description"), defaultValue="") + dlg = wx.TextEntryDialog(self, _(u"please provide a description"), _(u"Description")) dlg.ShowModal() result = dlg.GetValue() dlg.Destroy()