Exemplo n.º 1
0
def user(user_id):
    user = db_find('users', user_id)
    if user is None:
        abort(404)

    return render_template('user.html', **{
        "user": user,
        "packages": db.packages.find({"user": user['_id']}),
        "builders": db.builders.find({"owner": user['_id']})
    })
Exemplo n.º 2
0
def finished():
    resp = api_validate(['job'])
    if resp: return resp
    (req, builder) = get_things()

    job = req['job']
    jobj = db_find('jobs', job)

    builder.finish(jobj)

    return serialize({'action': 'job closed'}, True)
Exemplo n.º 3
0
def user(user_id):
    user = db_find('users', user_id)
    if user is None:
        abort(404)

    return render_template(
        'user.html', **{
            "user": user,
            "packages": db.packages.find({"user": user['_id']}),
            "builders": db.builders.find({"owner": user['_id']})
        })
Exemplo n.º 4
0
def job(job_id):
    job = db_find('jobs', job_id)
    if job is None:
        abort(404)

    # XXX: Refactor all this garbage.

    return render_template('job.html', **{
        "job": job,
        "checks": db.checks.find({"job": job['_id']})
    })
Exemplo n.º 5
0
def job(job_id):
    job = db_find('jobs', job_id)
    if job is None:
        abort(404)

    # XXX: Refactor all this garbage.

    return render_template(
        'job.html', **{
            "job": job,
            "checks": db.checks.find({"job": job['_id']})
        })
Exemplo n.º 6
0
def check(check_id):
    check = db_find('checks', check_id)
    if check is None:
        abort(404)

    tags = defaultdict(lambda: defaultdict(int))
    for block in check['data']:
        obj = check['data'][block]
        for ch in obj:
            tags[block][ch['tag']] += 1

    return render_template('check.html', **{"check": check, "tags": tags})
Exemplo n.º 7
0
def finished():
    resp = api_validate(['job'])
    if resp: return resp
    (req, builder) = get_things()

    job = req['job']
    jobj = db_find('jobs', job)

    builder.finish(jobj)

    return serialize({
        'action': 'job closed'
    }, True)
Exemplo n.º 8
0
def package(package_id):
    package = db_find('packages', package_id)
    if package is None:
        abort(404)

    closes = []  # refactor this into Changes' object
    if 'Closes' in package['changes']:
        closes = [x.strip() for x in package['changes']['Closes'].split()]

    return render_template('package.html', **{
        "closes": closes,
        "package": package,
        "user": db.users.find_one({"_id": package['user']}),
        "jobs": db.jobs.find({"package": package['_id']})
    })
Exemplo n.º 9
0
def check(check_id):
    check = db_find('checks', check_id)
    if check is None:
        abort(404)

    tags = defaultdict(lambda: defaultdict(int))
    for block in check['data']:
        obj = check['data'][block]
        for ch in obj:
            tags[block][ch['tag']] += 1

    return render_template('check.html', **{
        "check": check,
        "tags": tags
    })
Exemplo n.º 10
0
def package(package_id):
    package = db_find('packages', package_id)
    if package is None:
        abort(404)

    closes = []  # refactor this into Changes' object
    if 'Closes' in package['changes']:
        closes = [x.strip() for x in package['changes']['Closes'].split()]

    return render_template(
        'package.html', **{
            "closes": closes,
            "package": package,
            "user": db.users.find_one({"_id": package['user']}),
            "jobs": db.jobs.find({"package": package['_id']})
        })
Exemplo n.º 11
0
def result():
    resp = api_validate(['data'])
    if resp: return resp
    (req, builder) = get_things()

    data = json.loads(req['data'])
    job = data['job']
    jobj = db_find('jobs', job)
    data['job'] = jobj['_id']

    if jobj['builder'] is None:
        return api_abort('bad-builder', 'bad builder node')

    if jobj['builder'] != builder._obj['_id']:  # XXX: Fixme
        return api_abort('bad-builder', 'foo bad builder node')

    check_id = db.checks.insert(data)

    return serialize({'check': check_id}, True)
Exemplo n.º 12
0
def api_package(package_id):
    package = db_find('packages', package_id)
    if package is None:
        return api_abort('no-such-package',
                         'no such package: %s exists' % (package_id))

    archive = MonomoyArchive(monomoy['root'])
    path = archive.get_package_root(package['_id'])
    root = monomoy['archive']
    path = "%s/%s" % (root, path)

    dscs = filter(lambda x: x['name'].endswith('.dsc'),
                  package['changes']['Files'])
    files = ["%s/%s" % (path, x['name']) for x in dscs]

    return serialize({
        "files": files,
        "package": package['_id'],
        "package_obj": package
    }, True)
Exemplo n.º 13
0
def api_package(package_id):
    package = db_find('packages', package_id)
    if package is None:
        return api_abort('no-such-package',
                         'no such package: %s exists' % (package_id))

    archive = MonomoyArchive(monomoy['root'])
    path = archive.get_package_root(package['_id'])
    root = monomoy['archive']
    path = "%s/%s" % (root, path)

    dscs = filter(lambda x: x['name'].endswith('.dsc'),
                  package['changes']['Files'])
    files = ["%s/%s" % (path, x['name']) for x in dscs]

    return serialize(
        {
            "files": files,
            "package": package['_id'],
            "package_obj": package
        }, True)
Exemplo n.º 14
0
def result():
    resp = api_validate(['data'])
    if resp: return resp
    (req, builder) = get_things()

    data = json.loads(req['data'])
    job = data['job']
    jobj = db_find('jobs', job)
    data['job'] = jobj['_id']

    if jobj['builder'] is None:
        return api_abort('bad-builder', 'bad builder node')

    if jobj['builder'] != builder._obj['_id']:  # XXX: Fixme
        return api_abort('bad-builder', 'foo bad builder node')

    check_id = db.checks.insert(data)

    return serialize({
        'check': check_id
    }, True)