Package coprs
[hide private]
[frames] | no frames]

Source Code for Package coprs

  1  from __future__ import with_statement 
  2   
  3  import os 
  4  import flask 
  5   
  6  from flask_sqlalchemy import SQLAlchemy 
  7  from flask_openid import OpenID 
  8  from flask_whooshee import Whooshee 
  9  from openid_teams.teams import TeamsResponse 
 10   
 11  from coprs.redis_session import RedisSessionInterface 
 12   
 13  app = flask.Flask(__name__) 
 14  if "COPRS_ENVIRON_PRODUCTION" in os.environ: 
 15      app.config.from_object("coprs.config.ProductionConfig") 
 16  elif "COPRS_ENVIRON_UNITTEST" in os.environ: 
 17      app.config.from_object("coprs.config.UnitTestConfig") 
 18  else: 
 19      app.config.from_object("coprs.config.DevelopmentConfig") 
 20  if os.environ.get("COPR_CONFIG"): 
 21      app.config.from_envvar("COPR_CONFIG") 
 22  else: 
 23      app.config.from_pyfile("/etc/copr/copr.conf", silent=True) 
 24   
 25   
 26  oid = OpenID( 
 27      app, app.config["OPENID_STORE"], 
 28      safe_roots=[], 
 29      extension_responses=[TeamsResponse] 
 30  ) 
 31   
 32  db = SQLAlchemy(app) 
 33  whooshee = Whooshee(app) 
 34   
 35   
 36  import coprs.filters 
 37  import coprs.log 
 38  from coprs.log import setup_log 
 39  import coprs.models 
 40  import coprs.whoosheers 
 41   
 42  from coprs.helpers import RedisConnectionProvider 
 43  rcp = RedisConnectionProvider(config=app.config) 
 44  app.session_interface = RedisSessionInterface(rcp.get_connection()) 
 45   
 46  from coprs.views import admin_ns 
 47  from coprs.views.admin_ns import admin_general 
 48  from coprs.views import api_ns 
 49  from coprs.views.api_ns import api_general 
 50  from coprs.views import coprs_ns 
 51  from coprs.views.coprs_ns import coprs_builds 
 52  from coprs.views.coprs_ns import coprs_general 
 53  from coprs.views.coprs_ns import coprs_chroots 
 54  from coprs.views.coprs_ns import coprs_packages 
 55  from coprs.views import backend_ns 
 56  from coprs.views.backend_ns import backend_general 
 57  from coprs.views import misc 
 58  from coprs.views import status_ns 
 59  from coprs.views.status_ns import status_general 
 60  from coprs.views import recent_ns 
 61  from coprs.views.recent_ns import recent_general 
 62  from coprs.views.stats_ns import stats_receiver 
 63  from coprs.views import tmp_ns 
 64  from coprs.views.tmp_ns import tmp_general 
 65  from coprs.views.groups_ns import groups_ns 
 66  from coprs.views.groups_ns import groups_general 
 67  from coprs.views.webhooks_ns import webhooks_ns 
 68  from coprs.views.webhooks_ns import webhooks_general 
 69   
 70   
 71  from .context_processors import include_banner, inject_fedmenu 
 72   
 73  setup_log() 
 74   
 75  app.register_blueprint(api_ns.api_ns) 
 76  app.register_blueprint(admin_ns.admin_ns) 
 77  app.register_blueprint(coprs_ns.coprs_ns) 
 78  app.register_blueprint(misc.misc) 
 79  app.register_blueprint(backend_ns.backend_ns) 
 80  app.register_blueprint(status_ns.status_ns) 
 81  app.register_blueprint(recent_ns.recent_ns) 
 82  app.register_blueprint(stats_receiver.stats_rcv_ns) 
 83  app.register_blueprint(tmp_ns.tmp_ns) 
 84  app.register_blueprint(groups_ns) 
 85  app.register_blueprint(webhooks_ns) 
 86   
 87  app.add_url_rule("/", "coprs_ns.coprs_show", coprs_general.coprs_show) 
 88   
 89  app.jinja_env.trim_blocks = True 
 90  app.jinja_env.lstrip_blocks = True 
 91   
 92  from coprs.rest_api import rest_api_bp, register_api_error_handler, URL_PREFIX 
 93  register_api_error_handler(app) 
 94  app.register_blueprint(rest_api_bp, url_prefix=URL_PREFIX) 
 95  # register_api(app, db) 
 96   
 97  from flask.ext.sqlalchemy import models_committed 
 98  models_committed.connect(coprs.whoosheers.CoprWhoosheer.on_commit, sender=app) 
 99