python 3.9+: use removeprefix

This commit is contained in:
Anthony Sottile 2023-12-09 16:04:25 -05:00
parent 23a2b7360e
commit 08478ec176
4 changed files with 10 additions and 8 deletions

View file

@ -65,7 +65,7 @@ def _find_by_py_launcher(
version: str,
) -> str | None: # pragma: no cover (windows only)
if version.startswith('python'):
num = version[len('python'):]
num = version.removeprefix('python')
cmd = ('py', f'-{num}', '-c', 'import sys; print(sys.executable)')
env = dict(os.environ, PYTHONIOENCODING='UTF-8')
try:
@ -124,7 +124,7 @@ def _sys_executable_matches(version: str) -> bool:
return False
try:
info = tuple(int(p) for p in version[len('python'):].split('.'))
info = tuple(int(p) for p in version.removeprefix('python').split('.'))
except ValueError:
return False

View file

@ -134,7 +134,7 @@ def install_environment(
packages_to_install: set[tuple[str, ...]] = {('--path', '.')}
for cli_dep in cli_deps:
cli_dep = cli_dep[len('cli:'):]
cli_dep = cli_dep.removeprefix('cli:')
package, _, crate_version = cli_dep.partition(':')
if crate_version != '':
packages_to_install.add((package, '--version', crate_version))

View file

@ -349,8 +349,9 @@ def test_install_existing_hooks_no_overwrite(tempdir_factory, store):
# We should run both the legacy and pre-commit hooks
ret, output = _get_commit_output(tempdir_factory)
assert ret == 0
assert output.startswith('legacy hook\n')
NORMAL_PRE_COMMIT_RUN.assert_matches(output[len('legacy hook\n'):])
legacy = 'legacy hook\n'
assert output.startswith(legacy)
NORMAL_PRE_COMMIT_RUN.assert_matches(output.removeprefix(legacy))
def test_legacy_overwriting_legacy_hook(tempdir_factory, store):
@ -375,8 +376,9 @@ def test_install_existing_hook_no_overwrite_idempotent(tempdir_factory, store):
# We should run both the legacy and pre-commit hooks
ret, output = _get_commit_output(tempdir_factory)
assert ret == 0
assert output.startswith('legacy hook\n')
NORMAL_PRE_COMMIT_RUN.assert_matches(output[len('legacy hook\n'):])
legacy = 'legacy hook\n'
assert output.startswith(legacy)
NORMAL_PRE_COMMIT_RUN.assert_matches(output.removeprefix(legacy))
def test_install_with_existing_non_utf8_script(tmpdir, store):

View file

@ -185,7 +185,7 @@ def test_db_repo_name(store):
def test_local_resources_reflects_reality():
on_disk = {
res[len('empty_template_'):]
res.removeprefix('empty_template_')
for res in os.listdir('pre_commit/resources')
if res.startswith('empty_template_')
}