import datetime import logging from typing import Any, Dict, List, Optional, Tuple, Union, cast from flask import Blueprint, g, request, url_for from flask_babel import gettext, ngettext from magic import multiverse, oracle, seasons from shared import configuration, dtutil from shared.pd_exception import DatabaseException from shared_web.flask_app import PDFlask APP = PDFlask(__name__) APP.logger.setLevel(logging.WARN) # pylint: disable=no-member,no-name-in-module SEASONS = Blueprint('seasons', __name__, url_prefix='/seasons/<season_id>') def get_season_id() -> int: season_id = g.get('season_id', seasons.current_season_num()) if season_id == 'all': return 0 return season_id @SEASONS.url_defaults def add_season_id(_endpoint: str, values: Dict[str, Any]) -> None: values.setdefault('season_id', get_season_id()) @SEASONS.url_value_preprocessor def pull_season_id(_endpoint: str, values: Dict[str, Any]) -> None:
def __init__(self, app: PDFlask) -> None: self.test_client = app.test_client() # Propagate the exceptions to the test client self.test_client.testing = True # type: ignore self.base_tests()
import subprocess from typing import Dict, List, Union from flask import url_for from sqlalchemy import create_engine from sqlalchemy_utils import create_database, database_exists from shared import configuration from shared_web.flask_app import PDFlask APP = PDFlask(__name__) APP.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False APP.config[ 'SQLALCHEMY_DATABASE_URI'] = 'mysql://{user}:{password}@{host}:{port}/{db}'.format( user=configuration.get('mysql_user'), password=configuration.get('mysql_passwd'), host=configuration.get('mysql_host'), port=configuration.get('mysql_port'), db=configuration.get('logsite_database')) from . import db, stats, api, views # isort:skip # pylint: disable=wrong-import-position, unused-import def __create_schema() -> None: engine = create_engine(APP.config['SQLALCHEMY_DATABASE_URI']) if not database_exists(engine.url): create_database(engine.url) db.DB.create_all() engine.dispose()
from flask import redirect from github_webhook import Webhook from shared import configuration from shared_web.flask_app import PDFlask from . import webhooks APP = PDFlask(__name__) WEBHOOK = Webhook(APP, endpoint='/api/github') @APP.route('/') def home(): return 'build-commit-id: ' + APP.config['commit-id'] @WEBHOOK.hook() def on_push(data): ref = data['ref'] print(f'Got push on {ref}') if ref == 'refs/heads/master': webhooks.update_prs(data['repository']['full_name']) return data @WEBHOOK.hook(event_type='status') def on_status(data): sha = data.get('sha') context = data.get('context') state = data.get('state')
import datetime import logging import subprocess from typing import Dict, List, Tuple, Union from flask import Blueprint, g, url_for from flask_babel import gettext, ngettext from magic import multiverse, oracle, rotation from shared import configuration, dtutil from shared.pd_exception import DatabaseException from shared_web.flask_app import PDFlask APP = PDFlask(__name__) APP.logger.setLevel(logging.WARN) # pylint: disable=no-member,no-name-in-module SEASONS = Blueprint('seasons', __name__, url_prefix='/seasons/<season_id>') def get_season_id() -> int: return g.get('season_id', rotation.current_season_num()) @SEASONS.url_defaults def add_season_id(_endpoint, values): values.setdefault('season_id', get_season_id()) @SEASONS.url_value_preprocessor def pull_season_id(_endpoint, values): v = values.pop('season_id') g.season_id = rotation.season_id(v)