mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-20 01:24:42 +04:00
Remove most of five
This commit is contained in:
parent
01b557c497
commit
9b03068189
2 changed files with 2 additions and 73 deletions
|
|
@ -8,71 +8,3 @@ if PY2:
|
||||||
text = unicode # flake8: noqa
|
text = unicode # flake8: noqa
|
||||||
else:
|
else:
|
||||||
text = str
|
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)
|
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@ import os
|
||||||
import os.path
|
import os.path
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from pre_commit import five
|
|
||||||
|
|
||||||
|
|
||||||
class CalledProcessError(RuntimeError):
|
class CalledProcessError(RuntimeError):
|
||||||
def __init__(self, returncode, cmd, expected_returncode, output=None):
|
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)
|
replaced_cmd = _replace_cmd(cmd, prefix=self.prefix_dir)
|
||||||
proc = self.__popen(replaced_cmd, **popen_kwargs)
|
proc = self.__popen(replaced_cmd, **popen_kwargs)
|
||||||
stdout, stderr = proc.communicate(stdin)
|
stdout, stderr = proc.communicate(stdin)
|
||||||
# TODO: stdout, stderr = from_bytes(stdout), from_bytes(stderr)
|
|
||||||
if isinstance(stdout, bytes):
|
if isinstance(stdout, bytes):
|
||||||
stdout = five.text(stdout, 'utf-8')
|
stdout = stdout.decode('UTF-8')
|
||||||
if isinstance(stderr, bytes):
|
if isinstance(stderr, bytes):
|
||||||
stderr = five.text(stderr, 'utf-8')
|
stderr = stderr.decode('UTF-8')
|
||||||
returncode = proc.returncode
|
returncode = proc.returncode
|
||||||
|
|
||||||
if retcode is not None and retcode != returncode:
|
if retcode is not None and retcode != returncode:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue