Merge pull request #412 from pre-commit/remove_py26_format_literals

Remove py26 format literals
This commit is contained in:
Anthony Sottile 2016-09-15 09:20:42 -07:00 committed by GitHub
commit bbf1f62ed6
28 changed files with 58 additions and 58 deletions

View file

@ -38,7 +38,7 @@ def get_validator(
""" """
def validate(filename, load_strategy=yaml.load): def validate(filename, load_strategy=yaml.load):
if not os.path.exists(filename): if not os.path.exists(filename):
raise exception_type('File {0} does not exist'.format(filename)) raise exception_type('File {} does not exist'.format(filename))
file_contents = open(filename, 'r').read() file_contents = open(filename, 'r').read()
@ -46,14 +46,14 @@ def get_validator(
obj = load_strategy(file_contents) obj = load_strategy(file_contents)
except Exception as e: except Exception as e:
raise exception_type( raise exception_type(
'Invalid yaml: {0}\n{1}'.format(os.path.relpath(filename), e), 'Invalid yaml: {}\n{}'.format(os.path.relpath(filename), e),
) )
try: try:
jsonschema.validate(obj, json_schema) jsonschema.validate(obj, json_schema)
except jsonschema.exceptions.ValidationError as e: except jsonschema.exceptions.ValidationError as e:
raise exception_type( raise exception_type(
'Invalid content: {0}\n{1}'.format( 'Invalid content: {}\n{}'.format(
os.path.relpath(filename), e os.path.relpath(filename), e
), ),
) )
@ -75,7 +75,7 @@ def get_run_function(filenames_help, validate_strategy, exception_cls):
parser.add_argument( parser.add_argument(
'-V', '--version', '-V', '--version',
action='version', action='version',
version='%(prog)s {0}'.format( version='%(prog)s {}'.format(
pkg_resources.get_distribution('pre-commit').version pkg_resources.get_distribution('pre-commit').version
) )
) )

View file

@ -57,7 +57,7 @@ CONFIG_JSON_SCHEMA = {
def try_regex(repo, hook, value, field_name): def try_regex(repo, hook, value, field_name):
if not is_regex_valid(value): if not is_regex_valid(value):
raise InvalidConfigError( raise InvalidConfigError(
'Invalid {0} regex at {1}, {2}: {3}'.format( 'Invalid {} regex at {}, {}: {}'.format(
field_name, repo, hook, value, field_name, repo, hook, value,
) )
) )
@ -72,7 +72,7 @@ def validate_config_extra(config):
) )
elif 'sha' not in repo: elif 'sha' not in repo:
raise InvalidConfigError( raise InvalidConfigError(
'Missing "sha" field for repository {0}'.format(repo['repo']) 'Missing "sha" field for repository {}'.format(repo['repo'])
) )
for hook in repo['hooks']: for hook in repo['hooks']:
try_regex(repo, hook['id'], hook.get('files', ''), 'files') try_regex(repo, hook['id'], hook.get('files', ''), 'files')

View file

@ -55,7 +55,7 @@ MANIFEST_JSON_SCHEMA = {
def validate_languages(hook_config): def validate_languages(hook_config):
if hook_config['language'] not in all_languages: if hook_config['language'] not in all_languages:
raise InvalidManifestError( raise InvalidManifestError(
'Expected language {0} for {1} to be one of {2!r}'.format( 'Expected language {} for {} to be one of {!r}'.format(
hook_config['id'], hook_config['id'],
hook_config['language'], hook_config['language'],
all_languages, all_languages,
@ -66,14 +66,14 @@ def validate_languages(hook_config):
def validate_files(hook_config): def validate_files(hook_config):
if not is_regex_valid(hook_config['files']): if not is_regex_valid(hook_config['files']):
raise InvalidManifestError( raise InvalidManifestError(
'Invalid files regex at {0}: {1}'.format( 'Invalid files regex at {}: {}'.format(
hook_config['id'], hook_config['files'], hook_config['id'], hook_config['files'],
) )
) )
if not is_regex_valid(hook_config.get('exclude', '')): if not is_regex_valid(hook_config.get('exclude', '')):
raise InvalidManifestError( raise InvalidManifestError(
'Invalid exclude regex at {0}: {1}'.format( 'Invalid exclude regex at {}: {}'.format(
hook_config['id'], hook_config['exclude'], hook_config['id'], hook_config['exclude'],
) )
) )

View file

@ -24,7 +24,7 @@ def format_color(text, color, use_color_setting):
if not use_color_setting: if not use_color_setting:
return text return text
else: else:
return u'{0}{1}{2}'.format(color, text, NORMAL) return '{}{}{}'.format(color, text, NORMAL)
COLOR_CHOICES = ('auto', 'always', 'never') COLOR_CHOICES = ('auto', 'always', 'never')

View file

@ -61,7 +61,7 @@ def _update_repository(repo_config, runner):
if hooks_missing: if hooks_missing:
raise RepositoryCannotBeUpdatedError( raise RepositoryCannotBeUpdatedError(
'Cannot update because the tip of master is missing these hooks:\n' 'Cannot update because the tip of master is missing these hooks:\n'
'{0}'.format(', '.join(sorted(hooks_missing))) '{}'.format(', '.join(sorted(hooks_missing)))
) )
return new_config return new_config
@ -86,7 +86,7 @@ def autoupdate(runner):
if is_local_hooks(repo_config): if is_local_hooks(repo_config):
output_configs.append(repo_config) output_configs.append(repo_config)
continue continue
sys.stdout.write('Updating {0}...'.format(repo_config['repo'])) sys.stdout.write('Updating {}...'.format(repo_config['repo']))
sys.stdout.flush() sys.stdout.flush()
try: try:
new_repo_config = _update_repository(repo_config, runner) new_repo_config = _update_repository(repo_config, runner)
@ -99,7 +99,7 @@ def autoupdate(runner):
if new_repo_config['sha'] != repo_config['sha']: if new_repo_config['sha'] != repo_config['sha']:
changed = True changed = True
print( print(
'updating {0} -> {1}.'.format( 'updating {} -> {}.'.format(
repo_config['sha'], new_repo_config['sha'], repo_config['sha'], new_repo_config['sha'],
) )
) )

View file

@ -9,5 +9,5 @@ from pre_commit.util import rmtree
def clean(runner): def clean(runner):
if os.path.exists(runner.store.directory): if os.path.exists(runner.store.directory):
rmtree(runner.store.directory) rmtree(runner.store.directory)
print('Cleaned {0}.'.format(runner.store.directory)) print('Cleaned {}.'.format(runner.store.directory))
return 0 return 0

View file

@ -62,7 +62,7 @@ def install(runner, overwrite=False, hooks=False, hook_type='pre-commit'):
os.remove(legacy_path) os.remove(legacy_path)
elif os.path.exists(legacy_path): elif os.path.exists(legacy_path):
print( print(
'Running in migration mode with existing hooks at {0}\n' 'Running in migration mode with existing hooks at {}\n'
'Use -f to use only pre-commit.'.format( 'Use -f to use only pre-commit.'.format(
legacy_path, legacy_path,
) )
@ -83,7 +83,7 @@ def install(runner, overwrite=False, hooks=False, hook_type='pre-commit'):
pre_commit_file_obj.write(contents) pre_commit_file_obj.write(contents)
make_executable(hook_path) make_executable(hook_path)
print('pre-commit installed at {0}'.format(hook_path)) print('pre-commit installed at {}'.format(hook_path))
# If they requested we install all of the hooks, do so. # If they requested we install all of the hooks, do so.
if hooks: if hooks:
@ -110,10 +110,10 @@ def uninstall(runner, hook_type='pre-commit'):
return 0 return 0
os.remove(hook_path) os.remove(hook_path)
print('{0} uninstalled'.format(hook_type)) print('{} uninstalled'.format(hook_type))
if os.path.exists(legacy_path): if os.path.exists(legacy_path):
os.rename(legacy_path, hook_path) os.rename(legacy_path, hook_path)
print('Restored previous hooks to {0}'.format(hook_path)) print('Restored previous hooks to {}'.format(hook_path))
return 0 return 0

View file

@ -24,8 +24,8 @@ def _get_skips(environ):
def _hook_msg_start(hook, verbose): def _hook_msg_start(hook, verbose):
return '{0}{1}'.format( return '{}{}'.format(
'[{0}] '.format(hook['id']) if verbose else '', '[{}] '.format(hook['id']) if verbose else '',
hook['name'], hook['name'],
) )
@ -51,7 +51,7 @@ def _print_user_skipped(hook, write, args):
def get_changed_files(new, old): def get_changed_files(new, old):
return cmd_output( return cmd_output(
'git', 'diff', '--name-only', '{0}...{1}'.format(old, new), 'git', 'diff', '--name-only', '{}...{}'.format(old, new),
)[1].splitlines() )[1].splitlines()
@ -107,7 +107,7 @@ def _run_single_hook(hook, repo, args, write, skips=frozenset()):
write(color.format_color(pass_fail, print_color, args.color) + '\n') write(color.format_color(pass_fail, print_color, args.color) + '\n')
if (stdout or stderr or file_modifications) and (retcode or args.verbose): if (stdout or stderr or file_modifications) and (retcode or args.verbose):
write('hookid: {0}\n'.format(hook['id'])) write('hookid: {}\n'.format(hook['id']))
write('\n') write('\n')
# Print a message if failing due to file modifications # Print a message if failing due to file modifications
@ -200,7 +200,7 @@ def run(runner, args, write=sys_stdout_write_wrapper, environ=os.environ):
if hook['id'] == args.hook if hook['id'] == args.hook
] ]
if not repo_hooks: if not repo_hooks:
write('No hook with id `{0}`\n'.format(args.hook)) write('No hook with id `{}`\n'.format(args.hook))
return 1 return 1
# Filter hooks for stages # Filter hooks for stages

View file

@ -11,4 +11,4 @@ def environment_dir(ENVIRONMENT_DIR, language_version):
if ENVIRONMENT_DIR is None: if ENVIRONMENT_DIR is None:
return None return None
else: else:
return '{0}-{1}'.format(ENVIRONMENT_DIR, language_version) return '{}-{}'.format(ENVIRONMENT_DIR, language_version)

View file

@ -47,7 +47,7 @@ def install_environment(
with clean_path_on_failure(env_dir): with clean_path_on_failure(env_dir):
cmd = [ cmd = [
sys.executable, '-m', 'nodeenv', '--prebuilt', sys.executable, '-m', 'nodeenv', '--prebuilt',
'{{prefix}}{0}'.format(directory), '{{prefix}}{}'.format(directory),
] ]
if version != 'default': if version != 'default':

View file

@ -49,7 +49,7 @@ def norm_version(version):
# If it is in the form pythonx.x search in the default # If it is in the form pythonx.x search in the default
# place on windows # place on windows
if version.startswith('python'): if version.startswith('python'):
return r'C:\{0}\python.exe'.format(version.replace('.', '')) return r'C:\{}\python.exe'.format(version.replace('.', ''))
# Otherwise assume it is a path # Otherwise assume it is a path
return os.path.expanduser(version) return os.path.expanduser(version)
@ -67,7 +67,7 @@ def install_environment(
with clean_path_on_failure(repo_cmd_runner.path(directory)): with clean_path_on_failure(repo_cmd_runner.path(directory)):
venv_cmd = [ venv_cmd = [
sys.executable, '-m', 'virtualenv', sys.executable, '-m', 'virtualenv',
'{{prefix}}{0}'.format(directory) '{{prefix}}{}'.format(directory)
] ]
if version != 'default': if version != 'default':
venv_cmd.extend(['-p', norm_version(version)]) venv_cmd.extend(['-p', norm_version(version)])

View file

@ -70,20 +70,20 @@ def _install_rbenv(repo_cmd_runner, version='default'):
# We also modify the PS1 variable for manual debugging sake. # We also modify the PS1 variable for manual debugging sake.
activate_file.write( activate_file.write(
'#!/usr/bin/env bash\n' '#!/usr/bin/env bash\n'
"export RBENV_ROOT='{0}'\n" "export RBENV_ROOT='{directory}'\n"
'export PATH="$RBENV_ROOT/bin:$PATH"\n' 'export PATH="$RBENV_ROOT/bin:$PATH"\n'
'eval "$(rbenv init -)"\n' 'eval "$(rbenv init -)"\n'
'export PS1="(rbenv)$PS1"\n' 'export PS1="(rbenv)$PS1"\n'
# This lets us install gems in an isolated and repeatable # This lets us install gems in an isolated and repeatable
# directory # directory
"export GEM_HOME='{0}/gems'\n" "export GEM_HOME='{directory}/gems'\n"
'export PATH="$GEM_HOME/bin:$PATH"\n' 'export PATH="$GEM_HOME/bin:$PATH"\n'
'\n'.format(repo_cmd_runner.path(directory)) '\n'.format(directory=repo_cmd_runner.path(directory))
) )
# If we aren't using the system ruby, add a version here # If we aren't using the system ruby, add a version here
if version != 'default': if version != 'default':
activate_file.write('export RBENV_VERSION="{0}"\n'.format(version)) activate_file.write('export RBENV_VERSION="{}"\n'.format(version))
def _install_ruby(runner, version): def _install_ruby(runner, version):

View file

@ -22,9 +22,9 @@ class LoggingHandler(logging.Handler):
def emit(self, record): def emit(self, record):
self.__write( self.__write(
u'{0}{1}\n'.format( '{}{}\n'.format(
color.format_color( color.format_color(
'[{0}]'.format(record.levelname), '[{}]'.format(record.levelname),
LOG_LEVEL_COLORS[record.levelname], LOG_LEVEL_COLORS[record.levelname],
self.use_color, self.use_color,
) + ' ', ) + ' ',

View file

@ -34,7 +34,7 @@ def main(argv=None):
parser.add_argument( parser.add_argument(
'-V', '--version', '-V', '--version',
action='version', action='version',
version='%(prog)s {0}'.format( version='%(prog)s {}'.format(
pkg_resources.get_distribution('pre-commit').version pkg_resources.get_distribution('pre-commit').version
) )
) )
@ -157,11 +157,11 @@ def main(argv=None):
return run(runner, args) return run(runner, args)
else: else:
raise NotImplementedError( raise NotImplementedError(
'Command {0} not implemented.'.format(args.command) 'Command {} not implemented.'.format(args.command)
) )
raise AssertionError( raise AssertionError(
'Command {0} failed to exit with a returncode'.format(args.command) 'Command {} failed to exit with a returncode'.format(args.command)
) )

View file

@ -61,7 +61,7 @@ def make_archive(name, repo, ref, destdir):
def main(): def main():
for archive_name, repo, ref in REPOS: for archive_name, repo, ref in REPOS:
print('Making {0}.tar.gz for {1}@{2}'.format(archive_name, repo, ref)) print('Making {}.tar.gz for {}@{}'.format(archive_name, repo, ref))
make_archive(archive_name, repo, ref, RESOURCES_DIR) make_archive(archive_name, repo, ref, RESOURCES_DIR)

View file

@ -60,7 +60,7 @@ def get_hook_message(
if end_len: if end_len:
return start + '.' * (cols - len(start) - end_len - 1) return start + '.' * (cols - len(start) - end_len - 1)
else: else:
return '{0}{1}{2}{3}\n'.format( return '{}{}{}{}\n'.format(
start, start,
'.' * (cols - len(start) - len(postfix) - len(end_msg) - 1), '.' * (cols - len(start) - len(postfix) - len(end_msg) - 1),
postfix, postfix,

View file

@ -75,7 +75,7 @@ def normexe(orig_exe):
exe = find_executable(orig_exe) exe = find_executable(orig_exe)
if exe is None: if exe is None:
raise ExecutableNotFoundError( raise ExecutableNotFoundError(
'Executable `{0}` not found'.format(orig_exe), 'Executable `{}` not found'.format(orig_exe),
) )
return exe return exe
else: else:

View file

@ -76,7 +76,7 @@ class Repository(object):
for hook in self.repo_config['hooks']: for hook in self.repo_config['hooks']:
if hook['id'] not in self.manifest.hooks: if hook['id'] not in self.manifest.hooks:
logger.error( logger.error(
'`{0}` is not present in repository {1}. ' '`{}` is not present in repository {}. '
'Typo? Perhaps it is introduced in a newer version? ' 'Typo? Perhaps it is introduced in a newer version? '
'Often you can fix this by removing the hook, running ' 'Often you can fix this by removing the hook, running '
'`pre-commit autoupdate`, ' '`pre-commit autoupdate`, '
@ -90,8 +90,8 @@ class Repository(object):
) )
if hook_version > _pre_commit_version: if hook_version > _pre_commit_version:
logger.error( logger.error(
'The hook `{0}` requires pre-commit version {1} but ' 'The hook `{}` requires pre-commit version {} but '
'version {2} is installed. ' 'version {} is installed. '
'Perhaps run `pip install --upgrade pre-commit`.'.format( 'Perhaps run `pip install --upgrade pre-commit`.'.format(
hook['id'], hook_version, _pre_commit_version, hook['id'], hook_version, _pre_commit_version,
) )
@ -165,7 +165,7 @@ class Repository(object):
for language_name, language_version in self.languages for language_name, language_version in self.languages
): ):
logger.info( logger.info(
'Installing environment for {0}.'.format(self.repo_url) 'Installing environment for {}.'.format(self.repo_url)
) )
logger.info('Once installed this environment will be reused.') logger.info('Once installed this environment will be reused.')
logger.info('This may take a few minutes...') logger.info('This may take a few minutes...')

View file

@ -29,10 +29,10 @@ def staged_files_only(cmd_runner):
encoding=None, encoding=None,
) )
if retcode and diff_stdout_binary.strip(): if retcode and diff_stdout_binary.strip():
patch_filename = cmd_runner.path('patch{0}'.format(int(time.time()))) patch_filename = cmd_runner.path('patch{}'.format(int(time.time())))
logger.warning('Unstaged files detected.') logger.warning('Unstaged files detected.')
logger.info( logger.info(
'Stashing unstaged files to {0}.'.format(patch_filename), 'Stashing unstaged files to {}.'.format(patch_filename),
) )
# Save the current unstaged changes as a patch # Save the current unstaged changes as a patch
with io.open(patch_filename, 'wb') as patch_file: with io.open(patch_filename, 'wb') as patch_file:
@ -56,7 +56,7 @@ def staged_files_only(cmd_runner):
# Roll back the changes made by hooks. # Roll back the changes made by hooks.
cmd_runner.run(['git', 'checkout', '--', '.']) cmd_runner.run(['git', 'checkout', '--', '.'])
cmd_runner.run(('git', 'apply', patch_filename), encoding=None) cmd_runner.run(('git', 'apply', patch_filename), encoding=None)
logger.info('Restored changes from {0}.'.format(patch_filename)) logger.info('Restored changes from {}.'.format(patch_filename))
else: else:
# There weren't any staged files so we don't need to do anything # There weren't any staged files so we don't need to do anything
# special # special

View file

@ -111,7 +111,7 @@ class Store(object):
if result: if result:
return result[0] return result[0]
logger.info('Initializing environment for {0}.'.format(url)) logger.info('Initializing environment for {}.'.format(url))
dir = tempfile.mkdtemp(prefix='repo', dir=self.directory) dir = tempfile.mkdtemp(prefix='repo', dir=self.directory)
with clean_path_on_failure(dir): with clean_path_on_failure(dir):

View file

@ -131,9 +131,9 @@ class CalledProcessError(RuntimeError):
return b''.join(( return b''.join((
five.to_bytes( five.to_bytes(
'Command: {0!r}\n' 'Command: {!r}\n'
'Return code: {1}\n' 'Return code: {}\n'
'Expected return code: {2}\n'.format( 'Expected return code: {}\n'.format(
self.cmd, self.returncode, self.expected_returncode self.cmd, self.returncode, self.expected_returncode
) )
), ),

View file

@ -4,7 +4,7 @@ import sys
def func(): def func():
print('{0}.{1}'.format(*sys.version_info[:2])) print('{}.{}'.format(*sys.version_info[:2]))
print(repr(sys.argv[1:])) print(repr(sys.argv[1:]))
print('Hello World') print('Hello World')
return 0 return 0

View file

@ -186,7 +186,7 @@ def test_does_not_contain_defaults():
if isinstance(schema, dict): if isinstance(schema, dict):
if 'default' in schema: if 'default' in schema:
raise AssertionError( raise AssertionError(
'Unexpected default in schema at {0}'.format( 'Unexpected default in schema at {}'.format(
' => '.join(route), ' => '.join(route),
) )
) )

View file

@ -12,7 +12,7 @@ from pre_commit.color import use_color
@pytest.mark.parametrize(('in_text', 'in_color', 'in_use_color', 'expected'), ( @pytest.mark.parametrize(('in_text', 'in_color', 'in_use_color', 'expected'), (
('foo', GREEN, True, '{0}foo\033[0m'.format(GREEN)), ('foo', GREEN, True, '{}foo\033[0m'.format(GREEN)),
('foo', GREEN, False, 'foo'), ('foo', GREEN, False, 'foo'),
)) ))
def test_format_color(in_text, in_color, in_use_color, expected): def test_format_color(in_text, in_color, in_use_color, expected):

View file

@ -417,7 +417,7 @@ def test_lots_of_files(mock_out_store_directory, tempdir_factory):
# Write a crap ton of files # Write a crap ton of files
for i in range(400): for i in range(400):
filename = '{0}{1}'.format('a' * 100, i) filename = '{}{}'.format('a' * 100, i)
open(filename, 'w').close() open(filename, 'w').close()
cmd_output('bash', '-c', 'git add .') cmd_output('bash', '-c', 'git add .')

View file

@ -10,7 +10,7 @@ def test_norm_version_expanduser():
home = os.path.expanduser('~') home = os.path.expanduser('~')
if os.name == 'nt': # pragma: no cover (nt) if os.name == 'nt': # pragma: no cover (nt)
path = r'~\python343' path = r'~\python343'
expected_path = r'{0}\python343'.format(home) expected_path = r'{}\python343'.format(home)
else: # pragma: no cover (non-nt) else: # pragma: no cover (non-nt)
path = '~/.pyenv/versions/3.4.3/bin/python' path = '~/.pyenv/versions/3.4.3/bin/python'
expected_path = home + '/.pyenv/versions/3.4.3/bin/python' expected_path = home + '/.pyenv/versions/3.4.3/bin/python'

View file

@ -69,7 +69,7 @@ def write_executable(shebang, filename='run'):
os.mkdir('bin') os.mkdir('bin')
path = os.path.join('bin', filename) path = os.path.join('bin', filename)
with io.open(path, 'w') as f: with io.open(path, 'w') as f:
f.write('#!{0}'.format(shebang)) f.write('#!{}'.format(shebang))
make_executable(path) make_executable(path)
return path return path

View file

@ -293,7 +293,7 @@ def _norm_pwd(path):
# Under windows bash's temp and windows temp is different. # Under windows bash's temp and windows temp is different.
# This normalizes to the bash /tmp # This normalizes to the bash /tmp
return cmd_output( return cmd_output(
'bash', '-c', "cd '{0}' && pwd".format(path), 'bash', '-c', "cd '{}' && pwd".format(path),
encoding=None, encoding=None,
)[1].strip() )[1].strip()
@ -554,7 +554,7 @@ def test_hook_id_not_present(tempdir_factory, store, fake_log_handler):
with pytest.raises(SystemExit): with pytest.raises(SystemExit):
repo.install() repo.install()
assert fake_log_handler.handle.call_args[0][0].msg == ( assert fake_log_handler.handle.call_args[0][0].msg == (
'`i-dont-exist` is not present in repository {0}. ' '`i-dont-exist` is not present in repository {}. '
'Typo? Perhaps it is introduced in a newer version? ' 'Typo? Perhaps it is introduced in a newer version? '
'Often you can fix this by removing the hook, ' 'Often you can fix this by removing the hook, '
'running `pre-commit autoupdate`, ' 'running `pre-commit autoupdate`, '