def get_projects(self): projects_index = Projects() projects = projects_index.get_projects() projects = OrderedDict( sorted(projects.items(), key=lambda t: t[0])) tags = projects_index.get_tags() return {'projects': projects, 'tags': tags.keys()}
def projects(self, pid=None): projects_index = Projects() if pid: project = projects_index.get(pid) if not project: abort(404, detail="Project ID has not been found") return {pid: projects_index.get(pid)} else: projects = projects_index.get_projects( source=['name', 'description', 'logo', 'refs']) _projects = OrderedDict( sorted(projects.items(), key=lambda t: t[0])) return {'projects': _projects, 'tags': projects_index.get_tags()}
def get_repos(self, pid=None, tid=None): projects_index = Projects() if pid: repos = projects_index.get_projects().get(pid) elif tid: repos = projects_index.get_tags().get(tid) else: abort(404, detail="A tag ID or project ID must be passed as parameter") if repos is None: abort(404, detail='Project ID or Tag ID has not been found') return repos
def repos(self, pid=None, tid=None): projects_index = Projects() if not pid and not tid: abort(404, detail="A tag ID or project ID must be passed as parameter") if pid: project = projects_index.get(pid) else: if tid in projects_index.get_tags(): refs = projects_index.get_references_from_tags(tid) project = {'refs': refs} else: project = None if not project: abort(404, detail='Project ID or Tag ID has not been found') return project['refs']