def uninstall_parser(self, commands, command_all=False): if command_all: self.tentacle_package_manager.set_max_steps( self._get_package_count()) self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.UNINSTALL, self.default_package, EVALUATOR_DEFAULT_FOLDER) for package in self.advanced_package_list: self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.UNINSTALL, package, EVALUATOR_ADVANCED_FOLDER) return self._get_package_count() else: nb_actions = len(commands) self.tentacle_package_manager.set_max_steps(nb_actions) for component in commands: component = TentacleUtil.check_format(component) package, _, _, _, destination, _ = self.get_package_in_lists( component) if package: try: self.tentacle_package_manager.process_module( TentacleManagerActions.UNINSTALL, package, component, "", "", destination, "") except Exception: self.logger.error( "Uninstalling failed for module '{0}'".format( component)) else: self.logger.error( "No module found for '{0}'".format(component)) self.tentacle_package_manager.inc_current_step() return nb_actions
def install_parser(self, commands, command_all=False): should_install = True nb_actions = 0 # first ensure the current tentacles architecture is setup correctly if TentacleUtil.create_missing_tentacles_arch(): should_install = self._confirm_action( "Tentacles installation found on this OctoBot, this action will " "replace every local tentacle file and their configuration by their " "remote equivalent for the command's tentacles, continue ?") if should_install: # then process installations if command_all: self.tentacle_package_manager.set_max_steps( self._get_package_count()) self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.INSTALL, self.default_package, EVALUATOR_DEFAULT_FOLDER) for package in self.advanced_package_list: self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.INSTALL, package, EVALUATOR_ADVANCED_FOLDER) nb_actions = self._get_package_count() else: nb_actions = len(commands) self.tentacle_package_manager.set_max_steps(nb_actions) for component in commands: component = TentacleUtil.check_format(component) package, _, localisation, is_url, destination, package_name = self.get_package_in_lists( component) if package: try: self.tentacle_package_manager.process_module( TentacleManagerActions.INSTALL, package, component, localisation, is_url, destination, package_name) except Exception as e: self.logger.error( "Installation failed for tentacle module '{0}'" .format(component)) raise e else: self.logger.error( "No installation found for tentacle module '{0}'". format(component)) self.tentacle_package_manager.inc_current_step() TentaclePackageManager.update_evaluator_config_file() TentaclePackageManager.update_trading_config_file() return nb_actions
def install_parser(self, commands, command_all=False, force=False): should_install = True # first ensure the current tentacles architecture is setup correctly if TentacleUtil.create_missing_tentacles_arch() and not force: should_install = self._confirm_action( self.TENTACLE_INSTALLATION_FOUND_MESSAGE) if should_install: # then process installations if command_all: self.tentacle_package_manager.set_max_steps( self._get_package_count()) self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.INSTALL, self.default_package, EVALUATOR_DEFAULT_FOLDER) for package in self.advanced_package_list: self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.INSTALL, package, EVALUATOR_ADVANCED_FOLDER) nb_actions = self._get_package_count() else: nb_actions = len(commands) self.tentacle_package_manager.set_max_steps(nb_actions) for component in commands: component = TentacleUtil.check_format(component) package, _, localisation, is_url, destination, package_name = self.get_package_in_lists( component) if package: try: self.tentacle_package_manager.process_module( TentacleManagerActions.INSTALL, package, component, localisation, is_url, destination, package_name) except Exception as e: self.logger.error( f"Installation failed for tentacle module '{component}'" ) raise e else: self.logger.error( f"No installation found for tentacle module '{component}'" ) self.tentacle_package_manager.inc_current_step() TentaclePackageManager.update_evaluator_config_file() TentaclePackageManager.update_trading_config_file() return nb_actions
def update_parser(self, commands, command_all=False): self.tentacle_package_manager.set_installed_modules( self.tentacle_package_manager.get_installed_modules()) if command_all: self.tentacle_package_manager.set_max_steps( self._get_package_count()) self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.UPDATE, self.default_package, EVALUATOR_DEFAULT_FOLDER) for package in self.advanced_package_list: self.tentacle_package_manager.try_action_on_tentacles_package( TentacleManagerActions.UPDATE, package, EVALUATOR_ADVANCED_FOLDER) return self._get_package_count() else: nb_actions = len(commands) self.tentacle_package_manager.set_max_steps(nb_actions) for component in commands: component = TentacleUtil.check_format(component) package, _, localisation, is_url, destination, package_name = self.get_package_in_lists( component) if package: try: self.tentacle_package_manager.process_module( TentacleManagerActions.UPDATE, package, component, localisation, is_url, destination, package_name) except Exception as e: self.logger.error( "Update failed for tentacle module '{0}'".format( component)) raise e else: self.logger.error( "No tentacle found for '{0}'".format(component)) self.tentacle_package_manager.inc_current_step() return nb_actions