Beispiel #1
0
        ''', [job_id, project_id, project_id])


        filename = r[0]
        filename = filename.replace('/', '_')

        g.release_db()

        f = storage.download_source(filename)

        if not f:
            abort(404)

        return send_file(f)

cache_upload_parser = api.parser()
cache_upload_parser.add_argument('cache.tar.snappy', location='files',
                                 type=FileStorage, required=True)


@ns.route("/cache")
class Cache(Resource):

    @job_token_required
    def get(self):
        project_id = g.token['project']['id']
        job_name = g.token['job']['name']

        template = 'project_%s_job_%s.tar.snappy'
        key = template % (project_id, job_name)
        key = key.replace('/', '_')
Beispiel #2
0
        ''', [job_id, project_id, project_id])

        filename = r[0]
        filename = filename.replace('/', '_')

        g.release_db()

        f = storage.download_source(filename)

        if not f:
            abort(404)

        return send_file(f)


cache_upload_parser = api.parser()
cache_upload_parser.add_argument('cache.tar.gz',
                                 location='files',
                                 type=FileStorage,
                                 required=True)


@ns.route("/cache")
class Cache(Resource):
    @job_token_required
    def get(self):
        project_id = g.token['project']['id']
        job_name = g.token['job']['name']

        template = 'project_%s_job_%s.tar.gz'
        key = template % (project_id, job_name)
Beispiel #3
0
                    AND j.name = %s
                    AND jb.subject = %s
                JOIN build b
                    ON j.build_id = b.id
                    AND b.project_id = %s
                ORDER BY j.end_date desc
                LIMIT 1
            ''', [project_id, job_name, subject, project_id])

        if not badge:
            abort(404)

        return get_badge(subject, badge['status'], badge['color'])


upload_parser = api.parser()
upload_parser.add_argument('project.zip',
                           location='files',
                           type=FileStorage,
                           required=True)


@ns.route('/archive')
@api.response(403, 'Not Authorized')
class Archive(Resource):
    def get(self, project_id):
        job_name = request.args.get('job_name', None)
        filename = request.args.get('filename', None)
        branch = request.args.get('branch', None)
        if not filename or not job_name:
            abort(404)