Browse Source

[test_unicode_literals] Arm unicode_literals check

From now on, the line

from __future__ import unicode_literals

should be contained in every single Python file lest we run into any more 2.x/3.x issues.
Going forward, we're likely to develop on 3.x only and would likely miss subtle bugs otherwise.
totalwebcasting
Philipp Hagemeister 10 years ago
parent
commit
dcddc10a50
23 changed files with 42 additions and 14 deletions
  1. +2
    -0
      devscripts/bash-completion.py
  2. +1
    -0
      devscripts/check-porn.py
  3. +1
    -0
      devscripts/gh-pages/add-version.py
  4. +2
    -0
      devscripts/gh-pages/generate-download.py
  5. +3
    -1
      devscripts/gh-pages/sign-versions.py
  6. +2
    -2
      devscripts/gh-pages/update-copyright.py
  7. +1
    -0
      devscripts/gh-pages/update-feed.py
  8. +1
    -0
      devscripts/gh-pages/update-sites.py
  9. +2
    -0
      devscripts/make_readme.py
  10. +1
    -0
      devscripts/prepare_manpage.py
  11. +2
    -0
      devscripts/zsh-completion.py
  12. +6
    -7
      test/test_unicode_literals.py
  13. +1
    -0
      test/test_write_annotations.py
  14. +4
    -3
      test/test_write_info_json.py
  15. +1
    -0
      test/test_youtube_lists.py
  16. +1
    -0
      youtube_dl/__main__.py
  17. +2
    -0
      youtube_dl/aes.py
  18. +2
    -0
      youtube_dl/extractor/__init__.py
  19. +1
    -1
      youtube_dl/extractor/bambuser.py
  20. +1
    -0
      youtube_dl/postprocessor/__init__.py
  21. +2
    -0
      youtube_dl/postprocessor/common.py
  22. +2
    -0
      youtube_dl/postprocessor/xattrpp.py
  23. +1
    -0
      youtube_dl/version.py

+ 2
- 0
devscripts/bash-completion.py View File

@ -1,4 +1,6 @@
#!/usr/bin/env python
from __future__ import unicode_literals
import os
from os.path import dirname as dirn
import sys


+ 1
- 0
devscripts/check-porn.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python
from __future__ import unicode_literals
"""
This script employs a VERY basic heuristic ('porn' in webpage.lower()) to check


+ 1
- 0
devscripts/gh-pages/add-version.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python3
from __future__ import unicode_literals
import json
import sys


+ 2
- 0
devscripts/gh-pages/generate-download.py View File

@ -1,4 +1,6 @@
#!/usr/bin/env python3
from __future__ import unicode_literals
import hashlib
import urllib.request
import json


+ 3
- 1
devscripts/gh-pages/sign-versions.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python3
from __future__ import unicode_literals, with_statement
import rsa
import json
@ -29,4 +30,5 @@ signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).enc
print('signature: ' + signature)
versions_info['signature'] = signature
json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True)
with open('update/versions.json', 'w') as versionsf:
json.dump(versions_info, versionsf, indent=4, sort_keys=True)

+ 2
- 2
devscripts/gh-pages/update-copyright.py View File

@ -1,7 +1,7 @@
#!/usr/bin/env python
# coding: utf-8
from __future__ import with_statement
from __future__ import with_statement, unicode_literals
import datetime
import glob
@ -13,7 +13,7 @@ year = str(datetime.datetime.now().year)
for fn in glob.glob('*.html*'):
with io.open(fn, encoding='utf-8') as f:
content = f.read()
newc = re.sub(u'(?P<copyright>Copyright © 2006-)(?P<year>[0-9]{4})', u'Copyright © 2006-' + year, content)
newc = re.sub(r'(?P<copyright>Copyright © 2006-)(?P<year>[0-9]{4})', 'Copyright © 2006-' + year, content)
if content != newc:
tmpFn = fn + '.part'
with io.open(tmpFn, 'wt', encoding='utf-8') as outf:


+ 1
- 0
devscripts/gh-pages/update-feed.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python3
from __future__ import unicode_literals
import datetime
import io


+ 1
- 0
devscripts/gh-pages/update-sites.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python3
from __future__ import unicode_literals
import sys
import os


+ 2
- 0
devscripts/make_readme.py View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
import io
import sys
import re


+ 1
- 0
devscripts/prepare_manpage.py View File

@ -1,3 +1,4 @@
from __future__ import unicode_literals
import io
import os.path


+ 2
- 0
devscripts/zsh-completion.py View File

@ -1,4 +1,6 @@
#!/usr/bin/env python
from __future__ import unicode_literals
import os
from os.path import dirname as dirn
import sys


+ 6
- 7
test/test_unicode_literals.py View File

@ -9,14 +9,13 @@ rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
IGNORED_FILES = [
'setup.py', # http://bugs.python.org/issue13943
'conf.py',
'buildserver.py',
]
class TestUnicodeLiterals(unittest.TestCase):
def test_all_files(self):
print('Skipping this test (not yet fully implemented)')
return
for dirpath, _, filenames in os.walk(rootDir):
for basename in filenames:
if not basename.endswith('.py'):
@ -30,10 +29,10 @@ class TestUnicodeLiterals(unittest.TestCase):
if "'" not in code and '"' not in code:
continue
imps = 'from __future__ import unicode_literals'
self.assertTrue(
imps in code,
' %s missing in %s' % (imps, fn))
self.assertRegexpMatches(
code,
r'(?:#.*\n*)?from __future__ import (?:[a-z_]+,\s*)*unicode_literals',
'unicode_literals import missing in %s' % fn)
m = re.search(r'(?<=\s)u[\'"](?!\)|,|$)', code)
if m is not None:


+ 1
- 0
test/test_write_annotations.py View File

@ -1,5 +1,6 @@
#!/usr/bin/env python
# coding: utf-8
from __future__ import unicode_literals
# Allow direct execution
import os


+ 4
- 3
test/test_write_info_json.py View File

@ -1,5 +1,6 @@
#!/usr/bin/env python
# coding: utf-8
from __future__ import unicode_literals
# Allow direct execution
import os
@ -32,7 +33,7 @@ params = get_params({
TEST_ID = 'BaW_jenozKc'
INFO_JSON_FILE = TEST_ID + '.info.json'
DESCRIPTION_FILE = TEST_ID + '.mp4.description'
EXPECTED_DESCRIPTION = u'''test chars: "'/\ä↭𝕐
EXPECTED_DESCRIPTION = '''test chars: "'/\ä↭𝕐
test URL: https://github.com/rg3/youtube-dl/issues/1892
This is a test video for youtube-dl.
@ -53,11 +54,11 @@ class TestInfoJSON(unittest.TestCase):
self.assertTrue(os.path.exists(INFO_JSON_FILE))
with io.open(INFO_JSON_FILE, 'r', encoding='utf-8') as jsonf:
jd = json.load(jsonf)
self.assertEqual(jd['upload_date'], u'20121002')
self.assertEqual(jd['upload_date'], '20121002')
self.assertEqual(jd['description'], EXPECTED_DESCRIPTION)
self.assertEqual(jd['id'], TEST_ID)
self.assertEqual(jd['extractor'], 'youtube')
self.assertEqual(jd['title'], u'''youtube-dl test video "'/\ä↭𝕐''')
self.assertEqual(jd['title'], '''youtube-dl test video "'/\ä↭𝕐''')
self.assertEqual(jd['uploader'], 'Philipp Hagemeister')
self.assertTrue(os.path.exists(DESCRIPTION_FILE))


+ 1
- 0
test/test_youtube_lists.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python
from __future__ import unicode_literals
# Allow direct execution
import os


+ 1
- 0
youtube_dl/__main__.py View File

@ -1,4 +1,5 @@
#!/usr/bin/env python
from __future__ import unicode_literals
# Execute with
# $ python youtube_dl/__main__.py (2.6+)


+ 2
- 0
youtube_dl/aes.py View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
__all__ = ['aes_encrypt', 'key_expansion', 'aes_ctr_decrypt', 'aes_cbc_decrypt', 'aes_decrypt_text']
import base64


+ 2
- 0
youtube_dl/extractor/__init__.py View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
from .abc import ABCIE
from .academicearth import AcademicEarthCourseIE
from .addanime import AddAnimeIE


+ 1
- 1
youtube_dl/extractor/bambuser.py View File

@ -18,7 +18,7 @@ class BambuserIE(InfoExtractor):
_TEST = {
'url': 'http://bambuser.com/v/4050584',
# MD5 seems to be flaky, see https://travis-ci.org/rg3/youtube-dl/jobs/14051016#L388
# u'md5': 'fba8f7693e48fd4e8641b3fd5539a641',
# 'md5': 'fba8f7693e48fd4e8641b3fd5539a641',
'info_dict': {
'id': '4050584',
'ext': 'flv',


+ 1
- 0
youtube_dl/postprocessor/__init__.py View File

@ -1,3 +1,4 @@
from __future__ import unicode_literals
from .atomicparsley import AtomicParsleyPP
from .ffmpeg import (


+ 2
- 0
youtube_dl/postprocessor/common.py View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
from ..utils import PostProcessingError


+ 2
- 0
youtube_dl/postprocessor/xattrpp.py View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
import os
import subprocess
import sys


+ 1
- 0
youtube_dl/version.py View File

@ -1,2 +1,3 @@
from __future__ import unicode_literals
__version__ = '2014.11.26'

Loading…
Cancel
Save