Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit

Permalink
YouTube attachment no longer lags UI
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeffser committed Jan 29, 2025
1 parent 95fb44d commit 85b9427
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/generic_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
def attach_youtube(video_title:str, video_author:str, watch_url:str, video_url:str, video_id:str, caption_name:str):
buffer = window.message_text_view.get_buffer()
text = buffer.get_text(buffer.get_start_iter(), buffer.get_end_iter(), False).replace(video_url, "")
GLib.idle_add(buffer.delete, buffer.get_start_iter(), buffer.get_end_iter())
GLib.idle_add(buffer.insert, buffer.get_start_iter(), text, len(text))
buffer.delete(buffer.get_start_iter(), buffer.get_end_iter())
buffer.insert(buffer.get_start_iter(), text, len(text))

result_text = "{}\n{}\n{}\n\n".format(video_title, video_author, watch_url)
caption_name = caption_name.split(' (')[-1][:-1]
Expand Down
10 changes: 6 additions & 4 deletions src/window.py
Original file line number Diff line number Diff line change
Expand Up @@ -908,21 +908,22 @@ def youtube_detected(self, video_url):

transcriptions = generic_actions.get_youtube_transcripts(data['url'].split('=')[1])
if len(transcriptions) == 0:
self.show_toast(_("This video does not have any transcriptions"), self.main_overlay)
GLib.idle_add(self.show_toast, _("This video does not have any transcriptions"), self.main_overlay)
return

if not any(filter(lambda x: '(en' in x and 'auto-generated' not in x and len(transcriptions) > 1, transcriptions)):
transcriptions.insert(1, 'English (translate:en)')

dialog_widget.simple_dropdown(
GLib.idle_add(dialog_widget.simple_dropdown,
_('Attach YouTube Video?'),
_('{}\n\nPlease select a transcript to include').format(data['title']),
lambda caption_name, data=data, video_url=video_url: threading.Thread(target=generic_actions.attach_youtube, args=(data['title'], data['author_name'], data['url'], video_url, data['url'].split('=')[1], caption_name)).start(),
transcriptions
)
except Exception as e:
logger.error(e)
self.show_toast(_("Error attaching video, please try again"), self.main_overlay)
GLib.idle_add(self.show_toast, _("Error attaching video, please try again"), self.main_overlay)
GLib.idle_add(self.message_text_view_scrolled_window.set_sensitive, True)

def cb_text_received(self, text):
try:
Expand All @@ -938,7 +939,8 @@ def cb_text_received(self, text):
r'(?:/[^\\s]*)?'
)
if youtube_regex.match(text):
self.youtube_detected(text)
self.message_text_view_scrolled_window.set_sensitive(False)
threading.Thread(target=self.youtube_detected, args=(text,)).start()
elif url_regex.match(text):
dialog_widget.simple(
_('Attach Website? (Experimental)'),
Expand Down

0 comments on commit 85b9427

Please sign in to comment.