def manage_api_keys(): """Page for viewing and creating API keys.""" build = g.build create_form = forms.CreateApiKeyForm() if create_form.validate_on_submit(): api_key = models.ApiKey() create_form.populate_obj(api_key) api_key.id = utils.human_uuid() api_key.secret = utils.password_uuid() save_admin_log(build, created_api_key=True, message=api_key.id) db.session.add(api_key) db.session.commit() logging.info('Created API key=%r for build_id=%r', api_key.id, build.id) return redirect(url_for('manage_api_keys', build_id=build.id)) create_form.build_id.data = build.id api_key_query = ( models.ApiKey.query .filter_by(build_id=build.id) .order_by(models.ApiKey.created.desc()) .limit(1000)) revoke_form_list = [] for api_key in api_key_query: form = forms.RevokeApiKeyForm() form.id.data = api_key.id form.build_id.data = build.id form.revoke.data = True revoke_form_list.append((api_key, form)) return render_template( 'view_api_keys.html', build=build, create_form=create_form, revoke_form_list=revoke_form_list)
"""Bootstraps a new installation by setting up the production environment.""" import os os.environ['YOURAPPLICATION_SETTINGS'] = '../../settings.cfg' os.environ['SQLITE_PRODUCTION'] = 'Yes' from dpxdt.server import db from dpxdt.server import models from dpxdt.server import utils db.create_all() build = models.Build(name='Primary build') db.session.add(build) db.session.commit() api_key = models.ApiKey( id=utils.human_uuid(), secret=utils.password_uuid(), purpose='Local workers', superuser=True, build_id=build.id) db.session.add(api_key) db.session.commit() db.session.flush() with open('flags.cfg', 'a') as f: f.write('--release_client_id=%s\n' % api_key.id) f.write('--release_client_secret=%s\n' % api_key.secret)
from dpxdt.server import models from dpxdt.server import utils parser = argparse.ArgumentParser(description="Configure startup behaviour") parser.add_argument('-d','--dbexists', help='does db exist already',required=False) args = parser.parse_args() print "Argument --dbexists=%s" % args.dbexists #See if we need to initialize the database if args.dbexists == "false" or args.dbexists == None: db.create_all() build = models.Build(name='Primary build') db.session.add(build) db.session.commit() api_key = models.ApiKey( id=utils.human_uuid(), secret=utils.password_uuid(), purpose='Local workers', superuser=True, build_id=build.id) db.session.add(api_key) db.session.commit() db.session.flush() with open('flags.cfg', 'a') as f: f.write('--release_client_id=%s\n' % api_key.id) f.write('--release_client_secret=%s\n' % api_key.secret)