Skip to content

Commit

Permalink
Merge pull request #3093 from pre-commit/removeprefix
Browse files Browse the repository at this point in the history
python 3.9+: use removeprefix
  • Loading branch information
asottile committed Dec 9, 2023
2 parents d3fa7f4 + 08478ec commit 7dc0a59
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 8 deletions.
4 changes: 2 additions & 2 deletions pre_commit/languages/python.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion pre_commit/languages/rust.py
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
10 changes: 6 additions & 4 deletions tests/commands/install_uninstall_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand All @@ -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):
Expand Down
2 changes: 1 addition & 1 deletion tests/store_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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_')
}
Expand Down

0 comments on commit 7dc0a59

Please sign in to comment.