Browse Source

[downloader/f4m] Fix use of base64 in python 3.2 (fixes #5132)

b64decode needs a byte string, but on 3.4 it also accepts strings.
Jaime Marquínez Ferrándiz 10 years ago
parent
commit
43d6280d0a
1 changed files with 2 additions and 2 deletions
  1. 2 2
      youtube_dl/downloader/f4m.py

+ 2 - 2
youtube_dl/downloader/f4m.py

@@ -281,7 +281,7 @@ class F4mFD(FileDownloader):
             boot_info = self._get_bootstrap_from_url(bootstrap_url)
             boot_info = self._get_bootstrap_from_url(bootstrap_url)
         else:
         else:
             bootstrap_url = None
             bootstrap_url = None
-            bootstrap = base64.b64decode(node.text)
+            bootstrap = base64.b64decode(node.text.encode('ascii'))
             boot_info = read_bootstrap_info(bootstrap)
             boot_info = read_bootstrap_info(bootstrap)
         return (boot_info, bootstrap_url)
         return (boot_info, bootstrap_url)
 
 
@@ -308,7 +308,7 @@ class F4mFD(FileDownloader):
         live = boot_info['live']
         live = boot_info['live']
         metadata_node = media.find(_add_ns('metadata'))
         metadata_node = media.find(_add_ns('metadata'))
         if metadata_node is not None:
         if metadata_node is not None:
-            metadata = base64.b64decode(metadata_node.text)
+            metadata = base64.b64decode(metadata_node.text.encode('ascii'))
         else:
         else:
             metadata = None
             metadata = None