dotsub.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import re
  2. import json
  3. from .common import InfoExtractor
  4. class DotsubIE(InfoExtractor):
  5. _VALID_URL = r'(?:http://)?(?:www\.)?dotsub\.com/view/([^/]+)'
  6. _TEST = {
  7. u'url': u'http://dotsub.com/view/aed3b8b2-1889-4df5-ae63-ad85f5572f27',
  8. u'file': u'aed3b8b2-1889-4df5-ae63-ad85f5572f27.flv',
  9. u'md5': u'0914d4d69605090f623b7ac329fea66e',
  10. u'info_dict': {
  11. u"title": u"Pyramids of Waste (2010), AKA The Lightbulb Conspiracy - Planned obsolescence documentary",
  12. u"uploader": u"4v4l0n42",
  13. u'description': u'Pyramids of Waste (2010) also known as "The lightbulb conspiracy" is a documentary about how our economic system based on consumerism and planned obsolescence is breaking our planet down.\r\n\r\nSolutions to this can be found at:\r\nhttp://robotswillstealyourjob.com\r\nhttp://www.federicopistono.org\r\n\r\nhttp://opensourceecology.org\r\nhttp://thezeitgeistmovement.com',
  14. u'thumbnail': u'http://dotsub.com/media/aed3b8b2-1889-4df5-ae63-ad85f5572f27/p'
  15. }
  16. }
  17. def _real_extract(self, url):
  18. mobj = re.match(self._VALID_URL, url)
  19. video_id = mobj.group(1)
  20. info_url = "https://dotsub.com/api/media/%s/metadata" %(video_id)
  21. webpage = self._download_webpage(info_url, video_id)
  22. info = json.loads(webpage)
  23. video_url = info['mediaURI']
  24. uploader = info['user']
  25. description = info['description']
  26. view_count = info['numberOfViews']
  27. title = info['title']
  28. thumbnail_url = info['screenshotURI']
  29. ext = 'flv'
  30. return [{
  31. 'id': video_id,
  32. 'url': video_url,
  33. 'ext': ext,
  34. 'title': title,
  35. 'thumbnail': thumbnail_url,
  36. 'description': description,
  37. 'uploader': uploader,
  38. 'view_count': view_count,
  39. }]