mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2025-08-14 17:31:28 +08:00
pre-commit-hooks: python3.6+
This commit is contained in:
@ -1,9 +1,6 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import subprocess
|
||||
from typing import Any
|
||||
from typing import Optional
|
||||
from typing import Set
|
||||
|
||||
|
||||
@ -11,18 +8,17 @@ class CalledProcessError(RuntimeError):
|
||||
pass
|
||||
|
||||
|
||||
def added_files(): # type: () -> Set[str]
|
||||
def added_files() -> Set[str]:
|
||||
cmd = ('git', 'diff', '--staged', '--name-only', '--diff-filter=A')
|
||||
return set(cmd_output(*cmd).splitlines())
|
||||
|
||||
|
||||
def cmd_output(*cmd, **kwargs): # type: (*str, **Any) -> str
|
||||
retcode = kwargs.pop('retcode', 0)
|
||||
def cmd_output(*cmd: str, retcode: Optional[int] = 0, **kwargs: Any) -> str:
|
||||
kwargs.setdefault('stdout', subprocess.PIPE)
|
||||
kwargs.setdefault('stderr', subprocess.PIPE)
|
||||
proc = subprocess.Popen(cmd, **kwargs)
|
||||
stdout, stderr = proc.communicate()
|
||||
stdout = stdout.decode('UTF-8')
|
||||
stdout = stdout.decode()
|
||||
if retcode is not None and proc.returncode != retcode:
|
||||
raise CalledProcessError(cmd, retcode, proc.returncode, stdout, stderr)
|
||||
return stdout
|
||||
|
Reference in New Issue
Block a user