def execute(self, package, category, subdir, version, category_origin, subdir_origin, version_origin, from_install=False): config_package_name = 'package_install' if from_install else 'package_runtime' pkg_cfg_origin = copy.deepcopy( self._config[config_package_name].package_config( category_origin, subdir_origin, package, version_origin)['config_origin']) pkg_cfg_origin['version'] = version pkg_path = package_path(self._config['app'], self._config['category'], category, subdir, package, version) ctg_cf, sd_cf, pkg_cf, ver_cf = check_conflict_package( pkg_path['main_dir'], self._config['package_runtime']) if ctg_cf: raise InstallPackageConfigError( 'Package path conflicts with package "{0}", category "{1}", subdir "{2}", version "{3}"' .format(pkg_cf, ctg_cf, sd_cf, ver_cf)) safe_mkdir(pkg_path['config_dir']) dump_config(pkg_cfg_origin, pkg_path['config_file']) self._config.reset()
def save_release_status(self, end_time): if not self['category'].get('install'): _logger.warn('Will not save release status for: {0}'.format( self['name'])) return release_status = self.__load_status(self.__release_status_file()) if 'version' not in release_status: release_status['version'] = [] release_version = self.__config_release.get('version') if release_version and release_version not in release_status['version']: release_status['version'].append(release_version) safe_mkdir(self['dir']['status']) dump_config(release_status, self.__release_status_file())
def save_action_status(self, action, start, end): if not self['category'].get('install'): _logger.warn('Will not save install status for: {0}.{1}'.format( self['name'], action)) return install_status = self.__load_status(self.__install_status_file()) if 'steps' not in install_status: install_status['steps'] = {} if action not in install_status['steps']: install_status['steps'][action] = {} install_status['steps'][action]['finished'] = True install_status['steps'][action]['start'] = start install_status['steps'][action]['end'] = end safe_mkdir(self['dir']['status']) dump_config(install_status, self.__install_status_file())
def save_package_config(self, category, subdir, name, version): pkg_install_cfg = self.package_config(category, subdir, name, version) safe_mkdir(pkg_install_cfg['package_path']['config_dir']) dump_config(pkg_install_cfg['config_origin'], pkg_install_cfg['package_path']['config_file'])
def save_install_status(self, category, subdir, name, version): pkg_install_cfg = self.package_config(category, subdir, name, version) safe_mkdir(pkg_install_cfg['package_path']['status_dir']) dump_config(pkg_install_cfg['install_status'], pkg_install_cfg['package_path']['status_install_file'])
def save_to_file(self, config_file): dump_config(self.__data, config_file)