duration is a time delta

This commit is contained in:
Christophe Benz 2010-07-10 21:54:39 +02:00
commit b86e9d8a00
7 changed files with 16 additions and 18 deletions

View file

@ -59,7 +59,8 @@ class VideoPage(BasePage):
if m:
day, month, year = [int(s) for s in m.group(1).split('/')]
date = datetime.datetime(year, month, day)
return date, int(m.group(2)) * 60 + int(m.group(3))
duration = datetime.timedelta(minutes=m.group(3), seconds=m.group(2))
return date, duration
else:
return None

View file

@ -16,6 +16,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import datetime
import re
import urllib
from logging import warning
@ -62,13 +63,12 @@ class YoujizzBrowser(BaseBrowser):
m = re.search(r'<strong>.*Runtime.*</strong>(.+)<br.*>', data)
if m:
minutes, seconds = (int(v) for v in unicode(m.group(1).strip()).split(':'))
duration = minutes * 60 + seconds
else:
duration = 0
minutes = seconds = 0
video._id = _id
video.title = title
video.url = _get_url()
video.duration = duration
video.duration = datetime.timedelta(minutes=minutes, seconds=seconds)
return video
@check_domain

View file

@ -68,13 +68,13 @@ class VideoPage(PornPage):
value = span.tail.strip()
if name == 'Duration:':
duration = 0
seconds = minutes = 0
for word in value.split():
if word.endswith('min'):
duration += 60 * int(word[:word.find('min')])
minutes = int(word[:word.find('min')])
elif word.endswith('sec'):
duration += int(word[:word.find('sec')])
v.duration = duration
seconds = int(word[:word.find('sec')])
v.duration = datetime.timedelta(minutes=minutes, seconds=seconds)
elif name == 'Submitted:':
author = li.find('i')
if author is None:

View file

@ -63,8 +63,9 @@ class YoutubeBackend(BaseBackend, ICapVideo):
yield YoutubeVideo(entry.id.text.split('/')[-1].decode('utf-8'),
title=entry.media.title.text.decode('utf-8').strip(),
author=author,
duration=int(entry.media.duration.seconds.decode('utf-8').strip()),
thumbnail_url=entry.media.thumbnail[0].url.decode('utf-8').strip())
duration=datetime.timedelta(seconds=entry.media.duration.seconds.decode('utf-8').strip()),
thumbnail_url=entry.media.thumbnail[0].url.decode('utf-8').strip(),
)
def iter_page_urls(self, mozaic_url):
raise NotImplementedError()