diff options
| -rwxr-xr-x | devscripts/release.sh | 3 | ||||
| -rw-r--r-- | test/test_download.py | 2 | ||||
| -rw-r--r-- | test/tests.json | 37 | ||||
| -rwxr-xr-x | youtube_dl/InfoExtractors.py | 8 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 6 | ||||
| -rw-r--r-- | youtube_dl/version.py | 2 | 
6 files changed, 22 insertions, 36 deletions
| diff --git a/devscripts/release.sh b/devscripts/release.sh index 561499ccb..d6c8e4d5e 100755 --- a/devscripts/release.sh +++ b/devscripts/release.sh @@ -83,4 +83,7 @@ ROOT=$(pwd)  )  rm -rf build +echo "Uploading to PyPi ..." +pip sdist upload +  echo "\n### DONE!" diff --git a/test/test_download.py b/test/test_download.py index 14ac511d2..f1bccf58c 100644 --- a/test/test_download.py +++ b/test/test_download.py @@ -98,7 +98,7 @@ def generator(test_case):              for tc in test_cases:                  if not test_case.get('params', {}).get('skip_download', False): -                    self.assertTrue(os.path.exists(tc['file'])) +                    self.assertTrue(os.path.exists(tc['file']), msg='Missing file ' + tc['file'])                      self.assertTrue(tc['file'] in finished_hook_called)                  self.assertTrue(os.path.exists(tc['file'] + '.info.json'))                  if 'md5' in tc: diff --git a/test/tests.json b/test/tests.json index a06266689..8fda1f1a9 100644 --- a/test/tests.json +++ b/test/tests.json @@ -181,37 +181,12 @@    },    {      "name": "ComedyCentral", -    "url": "http://www.thedailyshow.com/full-episodes/thu-december-13-2012-kristen-stewart", -    "playlist": [ -      { -        "file": "422204.mp4", -        "md5": "7a7abe068b31ff03e7b8a37596e72380", -        "info_dict": { -            "title": "thedailyshow-thu-december-13-2012-kristen-stewart part 1" -        } -      }, -      { -        "file": "422205.mp4", -        "md5": "30552b7274c94dbb933f64600eadddd2", -        "info_dict": { -            "title": "thedailyshow-thu-december-13-2012-kristen-stewart part 2" -        } -      }, -      { -        "file": "422206.mp4", -        "md5": "1f4c0664b352cb8e8fe85d5da4fbee91", -        "info_dict": { -            "title": "thedailyshow-thu-december-13-2012-kristen-stewart part 3" -        } -      }, -      { -        "file": "422207.mp4", -        "md5": "f61ee8a4e6bd1308438e03badad78554", -        "info_dict": { -            "title": "thedailyshow-thu-december-13-2012-kristen-stewart part 4" -        } -      } -    ] +    "url": "http://www.thedailyshow.com/watch/thu-december-13-2012/kristen-stewart", +    "file": "422212.mp4", +    "md5": "4e2f5cb088a83cd8cdb7756132f9739d", +    "info_dict": { +        "title": "thedailyshow-kristen-stewart part 1" +    }    },    {      "name": "RBMARadio", diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 0860937ee..8d8c591f7 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -2050,8 +2050,10 @@ class FacebookIE(InfoExtractor):          if not m:              raise ExtractorError(u'Cannot parse data')          data = dict(json.loads(m.group(1))) -        video_url = compat_urllib_parse.unquote(data['hd_src']) -        video_duration = int(data['video_duration']) +        params_raw = compat_urllib_parse.unquote(data['params']) +        params = json.loads(params_raw) +        video_url = params['hd_src'] +        video_duration = int(params['video_duration'])          m = re.search('<h2 class="uiHeaderTitle">([^<]+)</h2>', webpage)          if not m: @@ -2064,7 +2066,7 @@ class FacebookIE(InfoExtractor):              'url': video_url,              'ext': 'mp4',              'duration': video_duration, -            'thumbnail': data['thumbnail_src'], +            'thumbnail': params['thumbnail_src'],          }          return [info] diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 532e8c782..e6ce028d6 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -280,6 +280,12 @@ class AttrParser(compat_html_parser.HTMLParser):              lines[-1] = lines[-1][:self.result[2][1]-self.result[1][1]]          lines[-1] = lines[-1][:self.result[2][1]]          return '\n'.join(lines).strip() +# Hack for https://github.com/rg3/youtube-dl/issues/662 +if sys.version_info < (2, 7, 3): +    AttrParser.parse_endtag = (lambda self, i: +        i + len("</scr'+'ipt>") +        if self.rawdata[i:].startswith("</scr'+'ipt>") +        else compat_html_parser.HTMLParser.parse_endtag(self, i))  def get_element_by_id(id, html):      """Return the content of the tag with the specified ID in the passed HTML document""" diff --git a/youtube_dl/version.py b/youtube_dl/version.py index 50fe6f8d7..eed8f325c 100644 --- a/youtube_dl/version.py +++ b/youtube_dl/version.py @@ -1,2 +1,2 @@ -__version__ = '2013.01.28' +__version__ = '2013.02.01' | 
