some fixes, pulled the codename from the code
authorFilippo Valsorda <filippo.valsorda@gmail.com>
Sun, 30 Dec 2012 17:22:36 +0000 (18:22 +0100)
committerFilippo Valsorda <filippo.valsorda@gmail.com>
Sun, 30 Dec 2012 18:50:33 +0000 (19:50 +0100)
Makefile
youtube_dl/__init__.py
youtube_dl/utils.py
youtube_dl/version.py

index 818d93bdbee417c853fd3e0670d12e942a1866f0..b49af6a7a2742ae1e7fafa34283757a7f9285b39 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -43,7 +43,7 @@ youtube-dl.bash-completion: youtube_dl/*.py devscripts/bash-completion.in
        python devscripts/bash-completion.py
 
 youtube-dl.tar.gz: all
-       tar -czf youtube-dl.tar.gz -s "|^./|./youtube-dl/|" \
+       tar -czf youtube-dl.tar.gz -s "|^./|./youtube-dl/|" --exclude="updates_key.pem" \
                --exclude="*.pyc" --exclude="*.pyo" --exclude="*~" --exclude="youtube-dl.exe" \
                --exclude="wine-py2exe/" --exclude="py2exe.log" --exclude="*.kate-swp" \
                --exclude="build/" --exclude="dist/" --exclude="MANIFEST" --exclude=".git/" .
index 092ff268cf2141256ac8e50c4d3483d79b97705a..4eb4101d2db5b6589bee38563f21788b19052663 100644 (file)
@@ -37,7 +37,7 @@ import warnings
 import platform
 
 from .utils import *
-from .version import __version__, __version_codename__
+from .version import __version__
 from .FileDownloader import *
 from .InfoExtractors import *
 from .PostProcessor import *
@@ -62,7 +62,7 @@ def update_self(to_screen, verbose, filename):
     try:
         newversion = compat_urllib_request.urlopen(VERSION_URL).read().decode('utf-8').strip()
     except:
-        if verbose: to_screen(traceback.format_exc().decode())
+        if verbose: to_screen(enforce_unicode(traceback.format_exc()))
         to_screen(u'ERROR: can\'t find the current version. Please try again later.')
         return
     if newversion == __version__:
@@ -74,7 +74,7 @@ def update_self(to_screen, verbose, filename):
         versions_info = compat_urllib_request.urlopen(JSON_URL).read().decode('utf-8')
         versions_info = json.loads(versions_info)
     except:
-        if verbose: to_screen(traceback.format_exc().decode())
+        if verbose: to_screen(enforce_unicode(traceback.format_exc()))
         to_screen(u'ERROR: can\'t obtain versions info. Please try again later.')
         return
     if not 'signature' in versions_info:
@@ -110,7 +110,7 @@ def update_self(to_screen, verbose, filename):
             newcontent = urlh.read()
             urlh.close()
         except (IOError, OSError) as err:
-            if verbose: to_screen(traceback.format_exc().decode())
+            if verbose: to_screen(enforce_unicode(traceback.format_exc()))
             to_screen(u'ERROR: unable to download latest version')
             return
 
@@ -123,7 +123,7 @@ def update_self(to_screen, verbose, filename):
             with open(exe + '.new', 'wb') as outf:
                 outf.write(newcontent)
         except (IOError, OSError) as err:
-            if verbose: to_screen(traceback.format_exc().decode())
+            if verbose: to_screen(enforce_unicode(traceback.format_exc()))
             to_screen(u'ERROR: unable to write the new version')
             return
 
@@ -140,7 +140,7 @@ del "%s"
 
             os.startfile(bat)
         except (IOError, OSError) as err:
-            if verbose: to_screen(traceback.format_exc().decode())
+            if verbose: to_screen(enforce_unicode(traceback.format_exc()))
             to_screen(u'ERROR: unable to overwrite current version')
             return
 
@@ -151,7 +151,7 @@ del "%s"
             newcontent = urlh.read()
             urlh.close()
         except (IOError, OSError) as err:
-            if verbose: to_screen(traceback.format_exc().decode())
+            if verbose: to_screen(enforce_unicode(traceback.format_exc()))
             to_screen(u'ERROR: unable to download latest version')
             return
 
@@ -164,7 +164,7 @@ del "%s"
             with open(filename, 'wb') as outf:
                 outf.write(newcontent)
         except (IOError, OSError) as err:
-            if verbose: to_screen(traceback.format_exc().decode())
+            if verbose: to_screen(enforce_unicode(traceback.format_exc()))
             to_screen(u'ERROR: unable to overwrite current version')
             return
 
@@ -603,9 +603,10 @@ def _real_main():
         })
 
     if opts.verbose:
-        fd.to_screen(u'[debug] youtube-dl version %s - %s' %(__version__, __version_codename__))
+        fd.to_screen(u'[debug] youtube-dl version ' + __version__)
         try:
-            sp = subprocess.Popen(['git', 'rev-parse', '--short', 'HEAD'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+            sp = subprocess.Popen(['git', 'rev-parse', '--short', 'HEAD'], stdout=subprocess.PIPE, stderr=subprocess.PIPE,
+                                  cwd=os.path.dirname(os.path.abspath(__file__)))
             out, err = sp.communicate()
             out = out.decode().strip()
             if re.match('[0-9a-f]+', out):
index 7d6041929538ff0e77c08d7e73e191b076ee4eb4..9784abb2400a4b09e0067757f334ec5942d55903 100644 (file)
@@ -154,6 +154,7 @@ std_headers = {
     'Accept-Encoding': 'gzip, deflate',
     'Accept-Language': 'en-us,en;q=0.5',
 }
+
 def preferredencoding():
     """Get preferred encoding.
 
@@ -187,6 +188,11 @@ else:
         with open(fn, 'w', encoding='utf-8') as f:
             json.dump(obj, f)
 
+# Some library functions return bytestring on 2.X and unicode on 3.X
+def enforce_unicode(s, encoding='utf-8'):
+    if type(s) != type(u''):
+        return s.decode(encoding)
+    return s
 
 def htmlentity_transform(matchobj):
     """Transforms an HTML entity to a character.
index 461a6785d4e1f01d0252e43d1c7bafbc665a8dd2..d5986f5e64885aed3c8305c8cadac433df85701f 100644 (file)
@@ -1,3 +1,2 @@
 
 __version__ = '2012.12.11'
-__version_codename__ = ''