コード例 #1
0
ファイル: api.py プロジェクト: nirbheek/mesonwrap
def get_project_info(project):
    matches = _database().get_versions(project)
    if not matches:
        projects = _database().name_search(project)
        if project not in projects:
            return jsonstatus.error(404, 'No such project')
        return jsonstatus.ok(versions=[])
    versions = [{'branch': i[0], 'revision': i[1]} for i in matches]
    return jsonstatus.ok(versions=versions)
コード例 #2
0
ファイル: api.py プロジェクト: eli-schwartz/mesonwrap
def get_project_info(project):
    metadata = _database().get_metadata(project)
    matches = _database().get_versions(project)
    if not matches:
        projects = _database().name_search(project)
        if project not in projects:
            return jsonstatus.error(404, 'No such project')
        return jsonstatus.ok(versions=[])
    md = dict()
    if metadata is not None:
        for field in ['homepage', 'description']:
            if metadata.has(field):
                md[field] = getattr(metadata, field)
    versions = [{'branch': i[0], 'revision': i[1]} for i in matches]
    return jsonstatus.ok(name=project, metadata=md, versions=versions)
コード例 #3
0
def get_project_info(project):
    if project is None:
        return get_projectlist()
    matches = _database().get_versions(project)
    if len(matches) == 0:
        return jsonstatus.error(500, 'No such project')
    versions = [{'branch': i[0], 'revision': i[1]} for i in matches]
    return jsonstatus.ok(versions=versions)
コード例 #4
0
ファイル: api.py プロジェクト: mesonbuild/wrapweb
def get_project_info(project):
    if project is None:
        return get_projectlist()
    matches = _database().get_versions(project)
    if len(matches) == 0:
        return jsonstatus.error(404, 'No such project')
    versions = [{'branch': i[0], 'revision': i[1]} for i in matches]
    return jsonstatus.ok(versions=versions)
コード例 #5
0
ファイル: hook.py プロジェクト: yuanyuyu/wrapweb
def update_project(project, repo_url, branch):
    if branch == 'master':
        return jsonstatus.error(406, 'Will not update master branch')
    # FIXME, should launch in the background instead. This will now block
    # until branching is finished.
    try:
        _wrapupdater().update_db(project, repo_url, branch)
        return jsonstatus.ok()
    except Exception as e:
        return jsonstatus.error(500, 'Wrap generation failed. %s' % e)
コード例 #6
0
def get_latest(project):
    matches = _database().get_versions(project, latest=True)
    if len(matches) == 0:
        return jsonstatus.error(500, 'No such project')
    latest = matches[0]
    return jsonstatus.ok(branch=latest[0], revision=latest[1])
コード例 #7
0
def name_query(project):
    return jsonstatus.ok(projects=_database().name_search(project))
コード例 #8
0
def get_projectlist():
    return jsonstatus.ok(projects=_database().name_search(''))
コード例 #9
0
ファイル: api.py プロジェクト: mesonbuild/wrapweb
def get_latest(project):
    matches = _database().get_versions(project, latest=True)
    if len(matches) == 0:
        return jsonstatus.error(404, 'No such project')
    latest = matches[0]
    return jsonstatus.ok(branch=latest[0], revision=latest[1])
コード例 #10
0
ファイル: api.py プロジェクト: mesonbuild/wrapweb
def name_query(project):
    return jsonstatus.ok(projects=_database().name_search(project))
コード例 #11
0
ファイル: api.py プロジェクト: mesonbuild/wrapweb
def get_projectlist():
    return jsonstatus.ok(projects=_database().name_search(''))
コード例 #12
0
ファイル: api.py プロジェクト: nirbheek/mesonwrap
def get_latest(project):
    latest = _database().get_latest_version(project)
    if latest is None:
        return jsonstatus.error(404, 'No such project')
    return jsonstatus.ok(branch=latest[0], revision=latest[1])