mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[extractor/GoogleDrive] Fix some audio
Only those with source url, but no confirmation page
This commit is contained in:
		| @@ -3,8 +3,8 @@ import re | ||||
| from .common import InfoExtractor | ||||
| from ..compat import compat_parse_qs | ||||
| from ..utils import ( | ||||
|     determine_ext, | ||||
|     ExtractorError, | ||||
|     determine_ext, | ||||
|     get_element_by_class, | ||||
|     int_or_none, | ||||
|     lowercase_escape, | ||||
| @@ -163,15 +163,13 @@ class GoogleDriveIE(InfoExtractor): | ||||
|         video_id = self._match_id(url) | ||||
|         video_info = compat_parse_qs(self._download_webpage( | ||||
|             'https://drive.google.com/get_video_info', | ||||
|             video_id, query={'docid': video_id})) | ||||
|             video_id, 'Downloading video webpage', query={'docid': video_id})) | ||||
| 
 | ||||
|         def get_value(key): | ||||
|             return try_get(video_info, lambda x: x[key][0]) | ||||
| 
 | ||||
|         reason = get_value('reason') | ||||
|         title = get_value('title') | ||||
|         if not title and reason: | ||||
|             raise ExtractorError(reason, expected=True) | ||||
| 
 | ||||
|         formats = [] | ||||
|         fmt_stream_map = (get_value('fmt_stream_map') or '').split(',') | ||||
| @@ -216,6 +214,11 @@ class GoogleDriveIE(InfoExtractor): | ||||
|         urlh = request_source_file(source_url, 'source') | ||||
|         if urlh: | ||||
|             def add_source_format(urlh): | ||||
|                 nonlocal title | ||||
|                 if not title: | ||||
|                     title = self._search_regex( | ||||
|                         r'\bfilename="([^"]+)"', urlh.headers.get('Content-Disposition'), | ||||
|                         'title', default=None) | ||||
|                 formats.append({ | ||||
|                     # Use redirect URLs as download URLs in order to calculate | ||||
|                     # correct cookies in _calc_cookies. | ||||
| @@ -251,7 +254,10 @@ class GoogleDriveIE(InfoExtractor): | ||||
|                             or 'unable to extract confirmation code') | ||||
| 
 | ||||
|         if not formats and reason: | ||||
|             if title: | ||||
|                 self.raise_no_formats(reason, expected=True) | ||||
|             else: | ||||
|                 raise ExtractorError(reason, expected=True) | ||||
| 
 | ||||
|         hl = get_value('hl') | ||||
|         subtitles_id = None | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan