class ProjectUpdateManager(UpdateManager): """ This goes through all the scripts that are newer than the version number written in the current project metadata xml, and executes them on the project folder. """ def __init__(self, project_path): self.project_path = project_path self.files_helper = FilesHelper() # This assumes that old project metadata file can be parsed by current version. self.project_meta = self.files_helper.read_project_metadata( project_path) from_version = int(self.project_meta.get('version', 0)) super(ProjectUpdateManager, self).__init__(project_update_scripts, from_version, TvbProfile.current.version.PROJECT_VERSION) def run_all_updates(self): """ Upgrade the project to the latest structure Go through all update scripts, from project version up to the current_version in the code """ super(ProjectUpdateManager, self).run_all_updates(project_path=self.project_path) # update project version in metadata self.project_meta['version'] = self.current_version self.files_helper.write_project_metadata_from_dict( self.project_path, self.project_meta)
class ProjectUpdateManager(UpdateManager): """ This goes through all the scripts that are newer than the version number written in the current project metadata xml, and executes them on the project folder. """ def __init__(self, project_path): self.project_path = project_path self.files_helper = FilesHelper() # This assumes that old project metadata file can be parsed by current version. self.project_meta = self.files_helper.read_project_metadata(project_path) from_version = int(self.project_meta.get('version', 0)) super(ProjectUpdateManager, self).__init__(project_update_scripts, from_version, TvbProfile.current.version.PROJECT_VERSION) def run_all_updates(self): """ Upgrade the project to the latest structure Go through all update scripts, from project version up to the current_version in the code """ super(ProjectUpdateManager, self).run_all_updates(project_path=self.project_path) # update project version in metadata self.project_meta['version'] = self.current_version self.files_helper.write_project_metadata_from_dict(self.project_path, self.project_meta)