mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-31 02:01:13 +00:00
Merge pull request #62 from sjuvekar/master
A special case for 'Permission denied' error msg when trying to execute ...
This commit is contained in:
commit
f6f6e2223c
9
tests/rules/test_python_command.py
Normal file
9
tests/rules/test_python_command.py
Normal file
@ -0,0 +1,9 @@
|
||||
from thefuck.main import Command
|
||||
from thefuck.rules.python_command import match, get_new_command
|
||||
|
||||
def test_match():
|
||||
assert match(Command('temp.py', '', 'Permission denied'), None)
|
||||
assert not match(Command('', '', ''), None)
|
||||
|
||||
def test_get_new_command():
|
||||
assert get_new_command(Command('./test_sudo.py', '', ''), None) == 'python ./test_sudo.py'
|
@ -51,7 +51,7 @@ def get_rules(user_dir, settings):
|
||||
.joinpath('rules')\
|
||||
.glob('*.py')
|
||||
user = user_dir.joinpath('rules').glob('*.py')
|
||||
return [load_rule(rule) for rule in list(bundled) + list(user)
|
||||
return [load_rule(rule) for rule in sorted(list(bundled)) + list(user)
|
||||
if rule.name != '__init__.py' and is_rule_enabled(settings, rule)]
|
||||
|
||||
|
||||
|
13
thefuck/rules/python_command.py
Normal file
13
thefuck/rules/python_command.py
Normal file
@ -0,0 +1,13 @@
|
||||
# add 'python' suffix to the command if
|
||||
# 1) The script does not have execute permission or
|
||||
# 2) is interpreted as shell script
|
||||
|
||||
def match(command, settings):
|
||||
toks = command.script.split()
|
||||
return (len(toks) > 0
|
||||
and toks[0].endswith('.py')
|
||||
and ('Permission denied' in command.stderr or
|
||||
'command not found' in command.stderr))
|
||||
|
||||
def get_new_command(command, settings):
|
||||
return 'python ' + command.script
|
Loading…
x
Reference in New Issue
Block a user