3d0d4be4a9
Signed-off-by: Pablo Santiago Blum de Aguiar <scorphus@gmail.com>
31 lines
802 B
Python
31 lines
802 B
Python
import re
|
|
from thefuck import shells
|
|
|
|
|
|
patterns = (
|
|
r"mv: cannot move '[^']*' to '([^']*)': No such file or directory",
|
|
r"mv: cannot move '[^']*' to '([^']*)': Not a directory",
|
|
r"cp: cannot create regular file '([^']*)': No such file or directory",
|
|
r"cp: cannot create regular file '([^']*)': Not a directory",
|
|
)
|
|
|
|
|
|
def match(command, settings):
|
|
for pattern in patterns:
|
|
if re.search(pattern, command.stderr):
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
def get_new_command(command, settings):
|
|
for pattern in patterns:
|
|
file = re.findall(pattern, command.stderr)
|
|
|
|
if file:
|
|
file = file[0]
|
|
dir = file[0:file.rfind('/')]
|
|
|
|
formatme = shells.and_('mkdir -p {}', '{}')
|
|
return formatme.format(dir, command.script)
|