def handle_get(self, owner, repo, latest=False): self.init_library(owner, repo) if self.library is None: self.response.set_status(404) self.response.write('could not find library: %s' % Library.id(owner, repo)) return if latest: version_id = Library.default_version_for_key_async( self.library.key).get_result() if version_id: version = Version.get_by_id(version_id, parent=self.library.key) if version is not None: self.trigger_analysis(version_id, version.sha, transactional=False) else: versions = Version.query(Version.status == Status.ready, ancestor=self.library.key).fetch() for version in versions: self.trigger_analysis(version.key.id(), version.sha, transactional=False)
def handle_get(self, owner, repo): self.init_library(owner, repo) if self.library is None: self.response.set_status(404) self.response.write('could not find library: %s' % Library.id(owner, repo)) return versions = Version.query(Version.status == Status.ready, ancestor=self.library.key).fetch() for version in versions: self.trigger_analysis(version.key.id(), version.sha, transactional=False)
def handle_get(self, scope, package, latest=False): self.init_library(scope, package) if self.library is None: self.response.set_status(404) self.response.write('could not find library: %s' % Library.id(scope, package)) return if latest: version_id = Library.default_version_for_key_async(self.library.key).get_result() if version_id: version = Version.get_by_id(version_id, parent=self.library.key) if version is not None: self.trigger_analysis(version_id, version.sha, transactional=False) else: versions = Version.query(Version.status == Status.ready, ancestor=self.library.key).fetch() for version in versions: self.trigger_analysis(version.key.id(), version.sha, transactional=False)
def get(self, owner, repo, ver=None): # TODO: Share all of this boilerplate between GetDataMeta and GetHydroData self.response.headers['Access-Control-Allow-Origin'] = '*' owner = owner.lower() repo = repo.lower() library_key = ndb.Key(Library, '%s/%s' % (owner, repo)) # TODO: version shouldn't be optional here if ver is None: versions = Version.query(ancestor=library_key).map(lambda v: v.key.id()) versions.sort(versiontag.compare) if versions == []: self.response.set_status(404) return ver = versions[-1] version_key = ndb.Key(Library, '%s/%s' % (owner, repo), Version, ver) hydro = Content.get_by_id('hydrolyzer', parent=version_key, read_policy=ndb.EVENTUAL_CONSISTENCY) if hydro is None: self.response.set_status(404) return self.response.headers['Content-Type'] = 'application/json' self.response.write(hydro.content)