improved tostring methods
This commit is contained in:
		
							parent
							
								
									409141ab51
								
							
						
					
					
						commit
						20612ea7a3
					
				|  | @ -55,7 +55,7 @@ class TranscriptList(): | ||||||
|     This object represents a list of transcripts. It can be iterated over to list all transcripts which are available |     This object represents a list of transcripts. It can be iterated over to list all transcripts which are available | ||||||
|     for a given YouTube video. Also it provides functionality to search for a transcript in a given language. |     for a given YouTube video. Also it provides functionality to search for a transcript in a given language. | ||||||
|     """ |     """ | ||||||
|     def __init__(self, video_id, manually_created_transcripts, generated_transcripts): |     def __init__(self, video_id, manually_created_transcripts, generated_transcripts, translation_languages): | ||||||
|         """ |         """ | ||||||
|         The constructor is only for internal use. Use the static build method instead. |         The constructor is only for internal use. Use the static build method instead. | ||||||
| 
 | 
 | ||||||
|  | @ -65,10 +65,13 @@ class TranscriptList(): | ||||||
|         :type manually_created_transcripts: dict[str, Transcript] |         :type manually_created_transcripts: dict[str, Transcript] | ||||||
|         :param generated_transcripts: dict mapping language codes to the generated transcripts |         :param generated_transcripts: dict mapping language codes to the generated transcripts | ||||||
|         :type generated_transcripts: dict[str, Transcript] |         :type generated_transcripts: dict[str, Transcript] | ||||||
|  |         :param translation_languages: list of languages which can be used for translatable languages | ||||||
|  |         :type translation_languages: list[dict[str, str]] | ||||||
|         """ |         """ | ||||||
|         self.video_id = video_id |         self.video_id = video_id | ||||||
|         self._manually_created_transcripts = manually_created_transcripts |         self._manually_created_transcripts = manually_created_transcripts | ||||||
|         self._generated_transcripts = generated_transcripts |         self._generated_transcripts = generated_transcripts | ||||||
|  |         self._translation_languages = translation_languages | ||||||
| 
 | 
 | ||||||
|     @staticmethod |     @staticmethod | ||||||
|     def build(http_client, video_id, captions_json): |     def build(http_client, video_id, captions_json): | ||||||
|  | @ -114,6 +117,7 @@ class TranscriptList(): | ||||||
|             video_id, |             video_id, | ||||||
|             manually_created_transcripts, |             manually_created_transcripts, | ||||||
|             generated_transcripts, |             generated_transcripts, | ||||||
|  |             translation_languages, | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def __iter__(self): |     def __iter__(self): | ||||||
|  | @ -181,22 +185,28 @@ class TranscriptList(): | ||||||
|             '(MANUALLY CREATED)\n' |             '(MANUALLY CREATED)\n' | ||||||
|             '{available_manually_created_transcript_languages}\n\n' |             '{available_manually_created_transcript_languages}\n\n' | ||||||
|             '(GENERATED)\n' |             '(GENERATED)\n' | ||||||
|             '{available_generated_transcripts}' |             '{available_generated_transcripts}\n\n' | ||||||
|  |             '(TRANSLATION LANGUAGES)\n' | ||||||
|  |             '{available_translation_languages}' | ||||||
|         ).format( |         ).format( | ||||||
|             video_id=self.video_id, |             video_id=self.video_id, | ||||||
|             available_manually_created_transcript_languages=self._get_language_description( |             available_manually_created_transcript_languages=self._get_language_description( | ||||||
|                 self._manually_created_transcripts.values() |                 str(transcript) for transcript in self._manually_created_transcripts.values() | ||||||
|             ), |             ), | ||||||
|             available_generated_transcripts=self._get_language_description( |             available_generated_transcripts=self._get_language_description( | ||||||
|                 self._generated_transcripts.values() |                 str(transcript) for transcript in self._generated_transcripts.values() | ||||||
|             ), |             ), | ||||||
|  |             available_translation_languages=self._get_language_description( | ||||||
|  |                 '{language_code} ("{language}")'.format( | ||||||
|  |                     language=translation_language['language'], | ||||||
|  |                     language_code=translation_language['language_code'], | ||||||
|  |                 ) for translation_language in self._translation_languages | ||||||
|  |             ) | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def _get_language_description(self, transcripts): |     def _get_language_description(self, transcript_strings): | ||||||
|         return '\n'.join( |         description = '\n'.join(' - {transcript}'.format(transcript=transcript) for transcript in transcript_strings) | ||||||
|             ' - {transcript}'.format(transcript=str(transcript)) |         return description if description else 'None' | ||||||
|             for transcript in transcripts |  | ||||||
|         ) if transcripts else 'None' |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Transcript(): | class Transcript(): | ||||||
|  | @ -239,9 +249,10 @@ class Transcript(): | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return '{language_code} ("{language}")'.format( |         return '{language_code} ("{language}"){translation_description}'.format( | ||||||
|             language=self.language, |             language=self.language, | ||||||
|             language_code=self.language_code, |             language_code=self.language_code, | ||||||
|  |             translation_description='[TRANSLATABLE]' if self.is_translatable else '' | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     @property |     @property | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue