diff --git a/lib/tfw/components/terminal_commands.py b/lib/tfw/components/terminal_commands.py index 9b5a7b9..b07f652 100644 --- a/lib/tfw/components/terminal_commands.py +++ b/lib/tfw/components/terminal_commands.py @@ -7,10 +7,18 @@ LOG = logging.getLogger(__name__) class TerminalCommands(ABC): - def __init__(self): + def __init__(self, bashrc=None): self._command_method_regex = r'^command_(.+)$' self.command_implemetations = {self._parse_command_name(fun): getattr(self, fun) for fun in dir(self) if callable(getattr(self, fun)) and self._is_command_implementation(fun)} + if bashrc is not None: + self._setup_bashrc_aliases(bashrc) + + def _setup_bashrc_aliases(self, bashrc): + with open(bashrc, 'a') as ofile: + alias_template = 'alias {0}="{0} > /dev/null 2>&1"\n' + for command in self.command_implemetations.keys(): + ofile.write(alias_template.format(command)) def _is_command_implementation(self, method_name): return bool(self._match_command_regex(method_name))