From 69c93fd89408d023f67a2ef55b6efd71d125f152 Mon Sep 17 00:00:00 2001 From: Lucas Noki Date: Sat, 18 Jan 2020 05:39:23 +0100 Subject: [PATCH 1/2] Add python-fire, Remove pyinquirer from main runner script --- main.py | 18 ++---------------- requirements.txt | 1 + 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index c88fc76..6d82db2 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ -from PyInquirer import prompt import importlib import os +import fire def load_modules(): @@ -16,19 +16,5 @@ def load_modules(): return loaded_modules -def open_module_selection(module_names): - print("Available Modules:") - module_selection = [ - { - 'type': 'checkbox', - 'message': 'Select modules', - 'name': 'modules', - 'choices': list(map(lambda x: {"name": x}, list(module_names))) - } - ] - return prompt(module_selection)['modules'] - - modules = load_modules() - -[modules[module].run() for module in open_module_selection(modules.keys())] +fire.Fire(modules) diff --git a/requirements.txt b/requirements.txt index efa466d..c72786b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ +fire PyInquirer==1.0.3 From ff076eb5272a68cc3f62913c7684a4e3d7e5ce38 Mon Sep 17 00:00:00 2001 From: Lucas Noki Date: Sat, 18 Jan 2020 05:56:19 +0100 Subject: [PATCH 2/2] Align vim module to new cli, hide internal functions --- modules/vim/module.py | 66 +++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/modules/vim/module.py b/modules/vim/module.py index af71370..cd52635 100644 --- a/modules/vim/module.py +++ b/modules/vim/module.py @@ -8,37 +8,39 @@ from PyInquirer import prompt from AbstractModule import AbstractModule -def get_vim_root(): - # return Path(os.getcwd()).joinpath("devenv", ".vim") - return Path().home().joinpath(".vim") - - class VimModule(AbstractModule): def __init__(self): super().__init__() - self.json_config = {} + self._debugFlag = False + self._json_config = {} with open("modules/vim/vimrc_conf.json") as plugins: - self.json_config = json.load(plugins) + self._json_config = json.load(plugins) - def create_folder_structure(self): - os.makedirs(str(get_vim_root().joinpath("autoload")), exist_ok=True) - os.makedirs(str(get_vim_root().joinpath("plugged")), exist_ok=True) + def _get_vim_root(self): + if self._debugFlag: + return Path(os.getcwd()).joinpath("devenv", ".vim") + else: + return Path().home().joinpath(".vim") - def get_vimplug_file(self): - vimplug_filepath = Path(str(get_vim_root().joinpath("autoload"))) + def _create_folder_structure(self): + os.makedirs(str(self._get_vim_root().joinpath("autoload")), exist_ok=True) + os.makedirs(str(self._get_vim_root().joinpath("plugged")), exist_ok=True) + + def _get_vimplug_file(self): + vimplug_filepath = Path(str(self._get_vim_root().joinpath("autoload"))) print(vimplug_filepath) - if os.path.isfile(str(get_vim_root().joinpath("autoload", "plug.vim"))): + if os.path.isfile(str(self._get_vim_root().joinpath("autoload", "plug.vim"))): print("Vimplug already installed!") else: curl_request = "curl {} -o {}".format( - self.json_config['pluginmanager_url'], - str(get_vim_root().joinpath("autoload", "plug.vim")) + self._json_config['pluginmanager_url'], + str(self._get_vim_root().joinpath("autoload", "plug.vim")) ) subprocess.call(curl_request, shell=True) - def create_plugin_section(self): + def _create_plugin_section(self): vimrc_content = [] - plugins = self.json_config['plugins'] + plugins = self._json_config['plugins'] print("Available Plugins:") plugin_selection = [ { @@ -50,7 +52,7 @@ class VimModule(AbstractModule): ] selected_plugins = prompt(plugin_selection)['modules'] if len(selected_plugins) > 0: - self.get_vimplug_file() + self._get_vimplug_file() print("\033[4mYour selection:\033[0m") [print(x) for x in selected_plugins] @@ -61,8 +63,8 @@ class VimModule(AbstractModule): return vimrc_content - def create_setting_section(self): - default_settings = list(self.json_config['settings'].values()) + def _create_setting_section(self): + default_settings = list(self._json_config['settings'].values()) print("\n\033[4mDefault settings:\033[0m") [print(i) for i in default_settings] @@ -70,8 +72,8 @@ class VimModule(AbstractModule): vimrc_content = list(map(lambda x: x + "\n", default_settings)) return vimrc_content - def get_vimfile_working_copy(self): - vimrc_path = str(get_vim_root().joinpath(".vimrc")) + def _get_vimfile_working_copy(self): + vimrc_path = str(self._get_vim_root().joinpath(".vimrc")) try: with open(vimrc_path, "r") as vimrc_file: vimrc_content = vimrc_file.readlines() @@ -80,23 +82,25 @@ class VimModule(AbstractModule): return vimrc_content - def write_vimfile(self, vimrc_content): + def _write_vimfile(self, vimrc_content): seen = set() seen_add = seen.add vimrc_content = [x1 for x1 in vimrc_content if not (x1 in seen or seen_add(x1))] - vimrc_path = str(get_vim_root().joinpath(".vimrc")) + vimrc_path = str(self._get_vim_root().joinpath(".vimrc")) with open(vimrc_path, "w") as vimrc_file: for line in vimrc_content: vimrc_file.write(line) - def exec_plugin_manager(self): + def _exec_plugin_manager(self): install_plugins = "vim +PlugInstall +qall +silent" subprocess.call(install_plugins, shell=True) - def run(self): - self.create_folder_structure() - plugin_section = self.create_plugin_section() - settings_section = self.create_setting_section() - self.write_vimfile(settings_section + plugin_section) - self.exec_plugin_manager() + def run(self, debug=False): + if debug: + self._debugFlag = True + self._create_folder_structure() + plugin_section = self._create_plugin_section() + settings_section = self._create_setting_section() + self._write_vimfile(settings_section + plugin_section) + self._exec_plugin_manager()