From 28d078708b8ef04437a70bbe8af796530c1d8a3e Mon Sep 17 00:00:00 2001 From: nvbn Date: Sat, 6 Feb 2016 16:37:11 +0300 Subject: [PATCH] #N/A: Check that brew/apt available in related rules --- thefuck/rules/apt_get.py | 2 ++ thefuck/rules/apt_get_search.py | 3 +++ thefuck/rules/apt_invalid_operation.py | 3 +++ thefuck/rules/brew_install.py | 7 +++---- thefuck/rules/brew_unknown_command.py | 6 ++++-- thefuck/rules/brew_upgrade.py | 3 +++ thefuck/specific/apt.py | 3 +++ thefuck/specific/brew.py | 2 +- 8 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 thefuck/specific/apt.py diff --git a/thefuck/rules/apt_get.py b/thefuck/rules/apt_get.py index 853c8784..54f9647b 100644 --- a/thefuck/rules/apt_get.py +++ b/thefuck/rules/apt_get.py @@ -1,8 +1,10 @@ +from thefuck.specific.apt import apt_available from thefuck.utils import memoize from thefuck.shells import shell try: import CommandNotFound + enabled_by_default = apt_available except ImportError: enabled_by_default = False diff --git a/thefuck/rules/apt_get_search.py b/thefuck/rules/apt_get_search.py index edc89376..95b6f75f 100644 --- a/thefuck/rules/apt_get_search.py +++ b/thefuck/rules/apt_get_search.py @@ -1,6 +1,9 @@ import re +from thefuck.specific.apt import apt_available from thefuck.utils import for_app +enabled_by_default = apt_available + @for_app('apt-get') def match(command): diff --git a/thefuck/rules/apt_invalid_operation.py b/thefuck/rules/apt_invalid_operation.py index 574e60d2..f73de266 100644 --- a/thefuck/rules/apt_invalid_operation.py +++ b/thefuck/rules/apt_invalid_operation.py @@ -1,7 +1,10 @@ import subprocess +from thefuck.specific.apt import apt_available from thefuck.specific.sudo import sudo_support from thefuck.utils import for_app, eager, replace_command +enabled_by_default = apt_available + @for_app('apt', 'apt-get', 'apt-cache') @sudo_support diff --git a/thefuck/rules/brew_install.py b/thefuck/rules/brew_install.py index 3a42fdd4..fcd1491a 100644 --- a/thefuck/rules/brew_install.py +++ b/thefuck/rules/brew_install.py @@ -1,10 +1,9 @@ import os import re -from thefuck.utils import get_closest, replace_argument, which -from thefuck.specific.brew import get_brew_path_prefix +from thefuck.utils import get_closest, replace_argument +from thefuck.specific.brew import get_brew_path_prefix, brew_available - -enabled_by_default = bool(which('brew')) +enabled_by_default = brew_available def _get_formulas(): diff --git a/thefuck/rules/brew_unknown_command.py b/thefuck/rules/brew_unknown_command.py index 29fe6dc8..ae6e89ba 100644 --- a/thefuck/rules/brew_unknown_command.py +++ b/thefuck/rules/brew_unknown_command.py @@ -1,12 +1,14 @@ import os import re from thefuck.utils import get_closest, replace_command -from thefuck.specific.brew import get_brew_path_prefix +from thefuck.specific.brew import get_brew_path_prefix, brew_available BREW_CMD_PATH = '/Library/Homebrew/cmd' TAP_PATH = '/Library/Taps' TAP_CMD_PATH = '/%s/%s/cmd' +enabled_by_default = brew_available + def _get_brew_commands(brew_path_prefix): """To get brew default commands on local environment""" @@ -53,7 +55,7 @@ def _brew_commands(): if brew_path_prefix: try: return _get_brew_commands(brew_path_prefix) \ - + _get_brew_tap_specific_commands(brew_path_prefix) + + _get_brew_tap_specific_commands(brew_path_prefix) except OSError: pass diff --git a/thefuck/rules/brew_upgrade.py b/thefuck/rules/brew_upgrade.py index d188943b..8f6d40db 100644 --- a/thefuck/rules/brew_upgrade.py +++ b/thefuck/rules/brew_upgrade.py @@ -4,6 +4,9 @@ # > brew upgrade # Warning: brew upgrade with no arguments will change behaviour soon! # It currently upgrades all formula but this will soon change to require '--all'. +from thefuck.specific.brew import brew_available + +enabled_by_default = brew_available def match(command): diff --git a/thefuck/specific/apt.py b/thefuck/specific/apt.py new file mode 100644 index 00000000..322b3869 --- /dev/null +++ b/thefuck/specific/apt.py @@ -0,0 +1,3 @@ +from thefuck.utils import which + +apt_available = bool(which('apt-get')) diff --git a/thefuck/specific/brew.py b/thefuck/specific/brew.py index 346d2d54..d56c0e07 100644 --- a/thefuck/specific/brew.py +++ b/thefuck/specific/brew.py @@ -2,7 +2,7 @@ import subprocess from ..utils import memoize, which -enabled_by_default = bool(which('brew')) +brew_available = bool(which('brew')) @memoize