Remove most of five

This commit is contained in:
Anthony Sottile
2014-06-06 07:52:02 -07:00
parent 01b557c497
commit 9b03068189
2 changed files with 2 additions and 73 deletions

View File

@@ -8,71 +8,3 @@ if PY2:
text = unicode # flake8: noqa
else:
text = str
def n(obj):
"""Produce a native string.
Similar in behavior to str(), but uses US-ASCII encoding when necessary.
"""
if isinstance(obj, str):
return obj
elif PY2 and isinstance(obj, text):
return obj.encode('US-ASCII')
elif PY3 and isinstance(obj, bytes):
return obj.decode('US-ASCII')
else:
return str(obj)
def u(obj):
"""Produces text.
Similar in behavior to str() in python3 or unicode() in python2,
but uses US-ASCII encoding when necessary.
"""
if isinstance(obj, text):
return obj
elif isinstance(obj, bytes):
return obj.decode('US-ASCII')
else:
return text(obj)
def b(obj):
"""Produces bytes.
Similar in behavior to bytes(), but uses US-ASCII encoding when necessary.
"""
if isinstance(obj, bytes):
return obj
elif isinstance(obj, text):
return obj.encode('US-ASCII')
else:
return bytes(obj)
def udict(*args, **kwargs):
"""Similar to dict(), but keyword-keys are text."""
kwargs = dict([
(u(key), val)
for key, val in kwargs.items()
])
return dict(*args, **kwargs)
def ndict(*args, **kwargs):
"""Similar to dict(), but keyword-keys are forced to native strings."""
# I hate this :(
kwargs = dict([
(n(key), val)
for key, val in kwargs.items()
])
return dict(*args, **kwargs)
def open(*args, **kwargs):
"""Override the builtin open() to return text and use utf8 by default."""
from io import open
kwargs.setdefault('encoding', 'UTF-8')
return open(*args, **kwargs)

View File

@@ -2,8 +2,6 @@ import os
import os.path
import subprocess
from pre_commit import five
class CalledProcessError(RuntimeError):
def __init__(self, returncode, cmd, expected_returncode, output=None):
@@ -70,11 +68,10 @@ class PrefixedCommandRunner(object):
replaced_cmd = _replace_cmd(cmd, prefix=self.prefix_dir)
proc = self.__popen(replaced_cmd, **popen_kwargs)
stdout, stderr = proc.communicate(stdin)
# TODO: stdout, stderr = from_bytes(stdout), from_bytes(stderr)
if isinstance(stdout, bytes):
stdout = five.text(stdout, 'utf-8')
stdout = stdout.decode('UTF-8')
if isinstance(stderr, bytes):
stderr = five.text(stderr, 'utf-8')
stderr = stderr.decode('UTF-8')
returncode = proc.returncode
if retcode is not None and retcode != returncode: