Brute forcing pytube into working
This commit is contained in:
		
							parent
							
								
									d9e6b08fd7
								
							
						
					
					
						commit
						98a0f60be9
					
				| @ -741,6 +741,36 @@ Generate a title following these rules: | |||||||
|         self.selected_chat_row = self.chat_list_box.get_selected_row() |         self.selected_chat_row = self.chat_list_box.get_selected_row() | ||||||
|         self.chat_actions(action, user_data) |         self.chat_actions(action, user_data) | ||||||
| 
 | 
 | ||||||
|  |     def youtube_detected(self, video_url): | ||||||
|  |         try: | ||||||
|  |             tries=0 | ||||||
|  |             while True: | ||||||
|  |                 try: | ||||||
|  |                     yt = YouTube(video_url) | ||||||
|  |                     video_title = yt.title | ||||||
|  |                     break | ||||||
|  |                 except Exception as e: | ||||||
|  |                     tries+=1 | ||||||
|  |                     if tries == 4: | ||||||
|  |                         raise Exception(e) | ||||||
|  |             transcriptions = generic_actions.get_youtube_transcripts(yt.video_id) | ||||||
|  |             if len(transcriptions) == 0: | ||||||
|  |                 self.show_toast(_("This video does not have any transcriptions"), self.main_overlay) | ||||||
|  |                 return | ||||||
|  | 
 | ||||||
|  |             if not any(filter(lambda x: '(en' in x, transcriptions)): | ||||||
|  |                 transcriptions.insert(0, 'English (Translate:en)') | ||||||
|  | 
 | ||||||
|  |             dialog_widget.simple_dropdown( | ||||||
|  |                 _('Attach YouTube Video?'), | ||||||
|  |                 _('{}\n\nPlease select a transcript to include').format(video_title), | ||||||
|  |                 lambda caption_name, yt=yt, video_url=video_url: generic_actions.attach_youtube(yt.title, yt.author, yt.watch_url, video_url, yt.video_id, caption_name), | ||||||
|  |                 transcriptions | ||||||
|  |             ) | ||||||
|  |         except Exception as e: | ||||||
|  |             logger.error(e) | ||||||
|  |             self.show_toast(_("Error attaching video, please try again"), self.main_overlay) | ||||||
|  | 
 | ||||||
|     def cb_text_received(self, clipboard, result): |     def cb_text_received(self, clipboard, result): | ||||||
|         try: |         try: | ||||||
|             text = clipboard.read_text_finish(result) |             text = clipboard.read_text_finish(result) | ||||||
| @ -756,25 +786,7 @@ Generate a title following these rules: | |||||||
|                 r'(?:/[^\\s]*)?' |                 r'(?:/[^\\s]*)?' | ||||||
|             ) |             ) | ||||||
|             if youtube_regex.match(text): |             if youtube_regex.match(text): | ||||||
|                 try: |                 self.youtube_detected(text) | ||||||
|                     yt = YouTube(text) |  | ||||||
|                     transcriptions = generic_actions.get_youtube_transcripts(yt.video_id) |  | ||||||
|                     if len(transcriptions) == 0: |  | ||||||
|                         self.show_toast(_("This video does not have any transcriptions"), self.main_overlay) |  | ||||||
|                         return |  | ||||||
| 
 |  | ||||||
|                     if not any(filter(lambda x: '(en' in x, transcriptions)): |  | ||||||
|                         transcriptions.insert(0, 'English (Translate:en)') |  | ||||||
| 
 |  | ||||||
|                     dialog_widget.simple_dropdown( |  | ||||||
|                         _('Attach YouTube Video?'), |  | ||||||
|                         _('{}\n\nPlease select a transcript to include').format(yt.title), |  | ||||||
|                         lambda caption_name, yt=yt, video_url=text: generic_actions.attach_youtube(yt.title, yt.author, yt.watch_url, video_url, yt.video_id, caption_name), |  | ||||||
|                         transcriptions |  | ||||||
|                     ) |  | ||||||
|                 except Exception as e: |  | ||||||
|                     logger.error(e) |  | ||||||
|                     self.show_toast(_("Error attaching video, please try again"), self.main_overlay) |  | ||||||
|             elif url_regex.match(text): |             elif url_regex.match(text): | ||||||
|                 dialog_widget.simple( |                 dialog_widget.simple( | ||||||
|                     _('Attach Website? (Experimental)'), |                     _('Attach Website? (Experimental)'), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user