diff options
Diffstat (limited to 'youtube/watch.py')
-rw-r--r-- | youtube/watch.py | 53 |
1 files changed, 14 insertions, 39 deletions
diff --git a/youtube/watch.py b/youtube/watch.py index 1f7a352..6a1a199 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -110,46 +110,20 @@ def get_subtitle_sources(info): return sources -def get_music_list_html(music_list): - if len(music_list) == 0: - music_list_html = '' - else: - # get the set of attributes which are used by atleast 1 track - # so there isn't an empty, extraneous album column which no tracks use, for example - used_attributes = set() - for track in music_list: - used_attributes = used_attributes | track.keys() - - # now put them in the right order - ordered_attributes = [] - for attribute in ('Artist', 'Title', 'Album'): - if attribute.lower() in used_attributes: - ordered_attributes.append(attribute) - - music_list_html = '''<hr> -<table> -<caption>Music</caption> -<tr> -''' - # table headings - for attribute in ordered_attributes: - music_list_html += "<th>" + attribute + "</th>\n" - music_list_html += '''</tr>\n''' - - for track in music_list: - music_list_html += '''<tr>\n''' - for attribute in ordered_attributes: - try: - value = track[attribute.lower()] - except KeyError: - music_list_html += '''<td></td>''' - else: - music_list_html += '''<td>''' + html.escape(value) + '''</td>''' - music_list_html += '''</tr>\n''' - music_list_html += '''</table>\n''' - return music_list_html +def get_ordered_music_list_attributes(music_list): + # get the set of attributes which are used by atleast 1 track + # so there isn't an empty, extraneous album column which no tracks use, for example + used_attributes = set() + for track in music_list: + used_attributes = used_attributes | track.keys() + # now put them in the right order + ordered_attributes = [] + for attribute in ('Artist', 'Title', 'Album'): + if attribute.lower() in used_attributes: + ordered_attributes.append(attribute) + return ordered_attributes def extract_info(downloader, *args, **kwargs): @@ -231,10 +205,11 @@ def get_watch_page(): video_sources = get_video_sources(info), subtitle_sources = get_subtitle_sources(info), related = related_videos, + music_list = info['music_list'], + music_attributes = get_ordered_music_list_attributes(info['music_list']), # TODO: refactor these comments = comments_html, - music_list = get_music_list_html(info['music_list']), title = info['title'], uploader = info['uploader'], |