from __future__ import unicode_literals import shlex from pre_commit.util import cmd_output def run_setup_cmd(runner, cmd): cmd_output(*cmd, cwd=runner.prefix_dir, encoding=None) def environment_dir(ENVIRONMENT_DIR, language_version): if ENVIRONMENT_DIR is None: return None else: return '{}-{}'.format(ENVIRONMENT_DIR, language_version) def to_cmd(hook): return tuple(shlex.split(hook['entry'])) + tuple(hook['args']) def assert_version_default(binary, version): if version != 'default': raise AssertionError( 'For now, pre-commit requires system-installed {}'.format(binary), ) def assert_no_additional_deps(lang, additional_deps): if additional_deps: raise AssertionError( 'For now, pre-commit does not support ' 'additional_dependencies for {}'.format(lang), )