From e5b4f62cb6d4b315d63df70f16769c01dfab7769 Mon Sep 17 00:00:00 2001 From: William McBrine Date: Mon, 15 Feb 2010 21:59:17 -0500 Subject: [PATCH] Use proper XML escaping for all fields in the music and photo plugins. This doesn't matter to the TiVo, AFAICT, but it makes Firefox happy. --- plugins/music/music.py | 5 ++++- plugins/music/templates/container.tmpl | 14 +++++++++----- plugins/photo/templates/container.tmpl | 3 ++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/plugins/music/music.py b/plugins/music/music.py index e4a2f16..909a6dc 100644 --- a/plugins/music/music.py +++ b/plugins/music/music.py @@ -204,7 +204,10 @@ class Music(Plugin): for tag in ([tagname] + TAGNAMES[tagname]): try: if tag in d: - return d[tag][0] + value = d[tag][0] + if type(value) not in [str, unicode]: + value = str(value) + return value except: pass return '' diff --git a/plugins/music/templates/container.tmpl b/plugins/music/templates/container.tmpl index e8a705d..13af78e 100644 --- a/plugins/music/templates/container.tmpl +++ b/plugins/music/templates/container.tmpl @@ -9,6 +9,7 @@ $total #for $file in $files + #set $title = '.'.join(file['name'].split('.')[:-1]) #if $file['is_dir']
@@ -25,7 +26,7 @@ #elif $file['is_playlist']
- #echo '.'.join(file['name'].split('.')[:-1]) # + $escape($title) x-tivo-container/playlist
@@ -39,14 +40,17 @@
#if not 'Title' in $file - #echo '.'.join(file['name'].split('.')[:-1]) # + $escape($title) #end if audio/mpeg - #for $key in ('Title', 'Duration', 'ArtistName', 'SongTitle', 'AlbumTitle', 'AlbumYear', 'MusicGenre') + #for $key in ('Title', 'ArtistName', 'SongTitle', 'AlbumTitle', 'AlbumYear', 'MusicGenre') #if $key in $file and $file[$key] - <$key>$file[$key] + <$key>$escape($file[$key]) + #end if + #end for + #if 'Duration' in $file + $file['Duration'] #end if - #end for
diff --git a/plugins/photo/templates/container.tmpl b/plugins/photo/templates/container.tmpl index dd064aa..82933b6 100644 --- a/plugins/photo/templates/container.tmpl +++ b/plugins/photo/templates/container.tmpl @@ -26,7 +26,8 @@ #else
- #echo '.'.join(file['name'].split('.')[:-1]) # + #set $title = '.'.join(file['name'].split('.')[:-1]) + $escape($title) image/jpeg #if 'odate' in $file $file['odate'] -- 2.11.4.GIT