support URLs and IDs with '-' in

This commit is contained in:
Romain Bignon 2010-04-26 17:14:15 +02:00
commit 31863d3171
4 changed files with 4 additions and 4 deletions

View file

@ -46,7 +46,7 @@ class YoutubeBackend(BaseBackend, ICapVideoProvider):
def need_url(func):
def inner(self, *args, **kwargs):
url = args[0]
if (u'youtube.com' not in url) and not re.match('^\w+$', url):
if (u'youtube.com' not in url) and not re.match('^[\w-]+$', url):
return None
return func(self, *args, **kwargs)
return inner

View file

@ -44,7 +44,7 @@ class YoutubeBrowser(BaseBrowser):
return self.page.iter_videos()
def get_video(self, _id):
if re.match('^\w+$', _id):
if re.match('^[\w-]+$', _id):
url = 'http://www.youtube.com/watch?v=%s' % _id
else:
url = _id

View file

@ -24,7 +24,7 @@ from weboob.tools.browser import BasePage
from weboob.capabilities.video import Video
class ResultsPage(BasePage):
WATCH_RE = re.compile('/watch\?v=(\w+)')
WATCH_RE = re.compile('/watch\?v=([\w-]+)')
def iter_videos(self):
for div in self.document.getroot().cssselect("div[class^=video-entry]"):
a = div.find('a')

View file

@ -25,7 +25,7 @@ from weboob.tools.browser import BasePage
from weboob.capabilities.video import Video
class VideoPage(BasePage):
URL_REGEX = re.compile(r"https?://[w\.]*youtube.com/watch\?v=(\w+)")
URL_REGEX = re.compile(r"https?://[w\.]*youtube.com/watch\?v=([\w-]+)")
VIDEO_SIGNATURE_REGEX = re.compile(r'&t=([^ ,&]*)')
def on_loaded(self):