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
|
||||
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.
|
||||
|
||||
|
@ -65,10 +65,13 @@ class TranscriptList():
|
|||
:type manually_created_transcripts: dict[str, Transcript]
|
||||
:param generated_transcripts: dict mapping language codes to the generated transcripts
|
||||
: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._manually_created_transcripts = manually_created_transcripts
|
||||
self._generated_transcripts = generated_transcripts
|
||||
self._translation_languages = translation_languages
|
||||
|
||||
@staticmethod
|
||||
def build(http_client, video_id, captions_json):
|
||||
|
@ -114,6 +117,7 @@ class TranscriptList():
|
|||
video_id,
|
||||
manually_created_transcripts,
|
||||
generated_transcripts,
|
||||
translation_languages,
|
||||
)
|
||||
|
||||
def __iter__(self):
|
||||
|
@ -181,22 +185,28 @@ class TranscriptList():
|
|||
'(MANUALLY CREATED)\n'
|
||||
'{available_manually_created_transcript_languages}\n\n'
|
||||
'(GENERATED)\n'
|
||||
'{available_generated_transcripts}'
|
||||
'{available_generated_transcripts}\n\n'
|
||||
'(TRANSLATION LANGUAGES)\n'
|
||||
'{available_translation_languages}'
|
||||
).format(
|
||||
video_id=self.video_id,
|
||||
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(
|
||||
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):
|
||||
return '\n'.join(
|
||||
' - {transcript}'.format(transcript=str(transcript))
|
||||
for transcript in transcripts
|
||||
) if transcripts else 'None'
|
||||
def _get_language_description(self, transcript_strings):
|
||||
description = '\n'.join(' - {transcript}'.format(transcript=transcript) for transcript in transcript_strings)
|
||||
return description if description else 'None'
|
||||
|
||||
|
||||
class Transcript():
|
||||
|
@ -239,9 +249,10 @@ class Transcript():
|
|||
)
|
||||
|
||||
def __str__(self):
|
||||
return '{language_code} ("{language}")'.format(
|
||||
return '{language_code} ("{language}"){translation_description}'.format(
|
||||
language=self.language,
|
||||
language_code=self.language_code,
|
||||
translation_description='[TRANSLATABLE]' if self.is_translatable else ''
|
||||
)
|
||||
|
||||
@property
|
||||
|
|
Loading…
Reference in New Issue