Actually print while installing

This commit is contained in:
Anthony Sottile 2015-02-22 16:18:46 -08:00
parent 8f51bf2d0b
commit 02f0a1c434
6 changed files with 42 additions and 27 deletions

View file

@ -1,5 +1,6 @@
from __future__ import unicode_literals
import logging
import shutil
from cached_property import cached_property
@ -9,6 +10,9 @@ from pre_commit.manifest import Manifest
from pre_commit.prefixed_command_runner import PrefixedCommandRunner
logger = logging.getLogger('pre_commit')
class Repository(object):
def __init__(self, repo_config, repo_path_getter):
self.repo_config = repo_config
@ -62,14 +66,28 @@ class Repository(object):
def install(self):
"""Install the hook repository."""
for language_name, language_version in self.languages:
def language_is_installed(language_name):
language = languages[language_name]
if (
return (
language.ENVIRONMENT_DIR is None or
self.cmd_runner.exists(language.ENVIRONMENT_DIR, '.installed')
):
# The language is already installed
)
if not all(
language_is_installed(language_name)
for language_name, _ in self.languages
):
logger.info(
'Installing environment for {0}.'.format(self.repo_url)
)
logger.info('Once installed this environment will be reused.')
logger.info('This may take a few minutes...')
for language_name, language_version in self.languages:
language = languages[language_name]
if language_is_installed(language_name):
continue
# There's potentially incomplete cleanup from previous runs
# Clean it up!
if self.cmd_runner.exists(language.ENVIRONMENT_DIR):

View file

@ -81,9 +81,7 @@ class Store(object):
if os.path.exists(sha_path):
return os.readlink(sha_path)
logger.info('Installing environment for {0}.'.format(url))
logger.info('Once installed this environment will be reused.')
logger.info('This may take a few minutes...')
logger.info('Initializing environment for {0}.'.format(url))
dir = tempfile.mkdtemp(prefix='repo', dir=self.directory)
with clean_path_on_failure(dir):