def devpiserver_on_changed_versiondata(stage, project, version, metadata): if stage is None: # TODO we don't have enough info to delete the project return if not metadata: if is_project_cached(stage, project) and not stage.has_project_perstage(project): delete_project(stage, project) return versions = stage.list_versions(project) if versions: version = get_latest_version(versions) if version: threadlog.debug("A version of %s was deleted, using latest version %s for indexing" % ( project, version)) metadata = stage.get_versiondata(project, version) if metadata: index_project(stage, metadata['name'])
def devpiserver_on_changed_versiondata(stage, projectname, version, metadata): if stage is None: # TODO we don't have enough info to delete the project return if not metadata: if stage.get_projectname(projectname) is None: delete_project(stage, projectname) return versions = stage.list_versions(projectname) if versions: version = get_latest_version(versions) if version: threadlog.debug( "A version of %s was deleted, using latest version %s for indexing" % (projectname, version)) metadata = stage.get_versiondata(projectname, version) if metadata: render_description(stage, metadata) index_project(stage, metadata['name'])
def test_get_latest_stable_version(expected, versions): assert get_latest_version(versions, stable=True) == expected
def test_get_latest_version(expected, versions): assert get_latest_version(versions) == expected
def get_latest_version_perstage(self, name, stable=False): return get_latest_version(self.list_versions_perstage(name), stable=stable)
def get_latest_version_perstage(self, name): return get_latest_version(self.list_versions_perstage(name))
def get_latest_version(self, name): return get_latest_version(self.list_versions(name))
def get_metadata_latest(self, name): versions = self.get_projectconfig(name) maxver = get_latest_version(versions) return self.get_metadata(name, maxver.string)