Moved cookie loader to its own function, made errors for cookies failing
This commit is contained in:
		
							parent
							
								
									67604ec46c
								
							
						
					
					
						commit
						42d4f59e01
					
				|  | @ -6,6 +6,10 @@ except ImportError: | ||||||
| 
 | 
 | ||||||
| from ._transcripts import TranscriptListFetcher | from ._transcripts import TranscriptListFetcher | ||||||
| 
 | 
 | ||||||
|  | from ._errors import ( | ||||||
|  |     CookiePathInvalid, | ||||||
|  |     CookiesInvalid | ||||||
|  | ) | ||||||
| 
 | 
 | ||||||
| class YouTubeTranscriptApi(): | class YouTubeTranscriptApi(): | ||||||
|     @classmethod |     @classmethod | ||||||
|  | @ -60,7 +64,6 @@ class YouTubeTranscriptApi(): | ||||||
|         with requests.Session() as http_client: |         with requests.Session() as http_client: | ||||||
|             if cookies: |             if cookies: | ||||||
|                 http_client.cookies = cls.load_cookies(cookies) |                 http_client.cookies = cls.load_cookies(cookies) | ||||||
|              |  | ||||||
|             http_client.proxies = proxies if proxies else {} |             http_client.proxies = proxies if proxies else {} | ||||||
|             return TranscriptListFetcher(http_client).fetch(video_id) |             return TranscriptListFetcher(http_client).fetch(video_id) | ||||||
| 
 | 
 | ||||||
|  | @ -121,7 +124,6 @@ class YouTubeTranscriptApi(): | ||||||
|         :rtype [{'text': str, 'start': float, 'end': float}]: |         :rtype [{'text': str, 'start': float, 'end': float}]: | ||||||
|         """ |         """ | ||||||
|         return cls.list_transcripts(video_id, proxies, cookies).find_transcript(languages).fetch() |         return cls.list_transcripts(video_id, proxies, cookies).find_transcript(languages).fetch() | ||||||
|             |  | ||||||
|      |      | ||||||
|     @classmethod |     @classmethod | ||||||
|     def load_cookies(cls, cookies): |     def load_cookies(cls, cookies): | ||||||
|  | @ -130,9 +132,9 @@ class YouTubeTranscriptApi(): | ||||||
|             cj = cookiejar.MozillaCookieJar() |             cj = cookiejar.MozillaCookieJar() | ||||||
|             cj.load(cookies) |             cj.load(cookies) | ||||||
|         except IOError as e: |         except IOError as e: | ||||||
|             print("Warning: Path for cookies file was not valid. Did not load any cookies") |             raise CookiePathInvalid | ||||||
|         except FileNotFoundError as e: |         except FileNotFoundError as e: | ||||||
|             print("Warning: Path for cookies file was not valid. Did not load any cookies") |             raise CookiePathInvalid | ||||||
|         if not cj: |         if not cj: | ||||||
|             raise IOError |             raise CookiesInvalid | ||||||
|         return cj  |         return cj  | ||||||
|  |  | ||||||
|  | @ -55,6 +55,14 @@ class TranslationLanguageNotAvailable(CouldNotRetrieveTranscript): | ||||||
|     CAUSE_MESSAGE = 'The requested translation language is not available' |     CAUSE_MESSAGE = 'The requested translation language is not available' | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class CookiePathInvalid(CouldNotRetrieveTranscript): | ||||||
|  |     CAUSE_MESSAGE = 'Path to cookie file was not valid' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class CookiesInvalid(CouldNotRetrieveTranscript): | ||||||
|  |     CAUSE_MESSAGE = 'The cookies provided are not valid (may have expired)' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class NoTranscriptFound(CouldNotRetrieveTranscript): | class NoTranscriptFound(CouldNotRetrieveTranscript): | ||||||
|     CAUSE_MESSAGE = ( |     CAUSE_MESSAGE = ( | ||||||
|         'No transcripts were found for any of the requested language codes: {requested_language_codes}\n\n' |         'No transcripts were found for any of the requested language codes: {requested_language_codes}\n\n' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue