Add support for streaming YouTube videos

This might not work with all media players,
but it worked for me with some basic tests.
This commit is contained in:
Thomas Perl 2010-04-03 00:39:43 +02:00
parent 3c5c5f10b0
commit 8b6eac8276
2 changed files with 15 additions and 2 deletions

View File

@ -69,6 +69,7 @@ from gpodder import util
from gpodder import opml
from gpodder import download
from gpodder import my
from gpodder import youtube
from gpodder.liblogger import log
_ = gpodder.gettext
@ -1999,6 +2000,14 @@ class gPodder(BuilderWidget, dbus.service.Object):
filename = episode.local_filename(create=False)
if filename is None or not os.path.exists(filename):
filename = episode.url
if youtube.is_video_link(filename):
if gpodder.ui.fremantle:
self.show_message(_('Streaming of YouTube videos not supported.'), important=True)
if len(episodes) == 1:
return
continue
filename = youtube.get_real_download_url(filename, \
self.config.youtube_preferred_fmt_id)
groups[player].append(filename)
# Open episodes with system default player

View File

@ -1059,8 +1059,12 @@ class PodcastEpisode(PodcastModelObject):
else:
return self.title
def file_type( self):
return util.file_type_by_extension( self.extension() )
def file_type(self):
# Assume all YouTube links are video files
if youtube.is_video_link(self.url):
return 'video'
return util.file_type_by_extension(self.extension())
@property
def basename( self):