コード例 #1
0
            app.logger.error('Tried to lookup missing config setting: %s' %
                             key)
            return None


# Setup caching
cache = flask_cache.Cache(app,
                          config={
                              'CACHE_TYPE': 'filesystem',
                              'CACHE_DIR': '/tmp',
                              'CACHE_THRESHOLD': 25000,
                              'CACHE_DEFAULT_TIMEOUT': 60,
                          })

# Setup openid
oid = flask_openid.OpenID(app)

# Setup database connection
db = flask_sqlalchemy.SQLAlchemy(app)
from .models import User, Team, GameServer, Match, Tournament, MapStats, PlayerStats  # noqa: E402
migrate = flask_migrate.Migrate(app, db)

# Setup rate limiting
limiter = flask_limiter.Limiter(
    app,
    key_func=flask_limiter.util.get_remote_address,
    default_limits=['250 per minute'],
)

# Setup logging
formatter = logging.Formatter(
コード例 #2
0
ファイル: login.py プロジェクト: cjohnston1158/www.ubuntu.com
# Packages
import flask
import flask_openid
import talisker.requests
from pymacaroons import Macaroon

# Local
from webapp.macaroons import (
    binary_serialize_macaroons,
    MacaroonRequest,
    MacaroonResponse,
)

open_id = flask_openid.OpenID(
    store_factory=lambda: None,
    safe_roots=[],
    extension_responses=[MacaroonResponse],
)
session = talisker.requests.get_session()


def user_info(user_session):
    """
    Checks if the user is authenticated from the session
    Returns True if the user is authenticated
    """

    if "openid" in user_session and "authentication_token" in user_session:
        return {
            "fullname": user_session["openid"]["fullname"],
            "email": user_session["openid"]["email"],
コード例 #3
0
import flask
import flask_sqlalchemy
import flask_login
import flask_openid
import config
import os

app = flask.Flask(__name__)
app.config.from_object('config')

oid = flask_openid.OpenID(app, os.path.join(config.basedir, 'tmp'))

db = flask_sqlalchemy.SQLAlchemy(app)

lm = flask_login.LoginManager()
lm.init_app(app)
lm.login_view = 'login'

# # setup SMTP debug info
# if not app.debug:
#     import logging
#     credentials = None
#     if config.MAIL_USERNAME or config.MAIL_PASSWORD:
#         credentials = (
#             config.MAIL_USERNAME,
#             config.MAIL_PASSWORD)
#     mail_handler = logging.handlers.SMTPHandler(
#         (config.MAIL_SERVER, config.MAIL_PORT),
#         'no-reply@' + config.MAIL_SERVER,
#         config.ADMINS,
#         'microblog failure',
コード例 #4
0
# Standard library
from urllib.parse import quote, unquote

# Packages
import flask
import flask_openid
from pymacaroons import Macaroon

# Local
from webapp import auth
from webapp.api import advantage as advantage_api
from webapp.macaroons import MacaroonRequest, MacaroonResponse


open_id = flask_openid.OpenID(
    stateless=True, safe_roots=[], extension_responses=[MacaroonResponse]
)


@open_id.loginhandler
def login_handler():
    if auth.is_authenticated(flask.session):
        return flask.redirect(open_id.get_next_url())

    root = advantage_api.get_macaroon()

    for caveat in Macaroon.deserialize(root).third_party_caveats():
        if caveat.location == "login.ubuntu.com":
            openid_macaroon = MacaroonRequest(caveat_id=caveat.caveat_id)
            break
コード例 #5
0
    SECRET_KEY='development key',
    DEBUG=True
)

mail = Mail(app)

ALLOWED_EXTENSIONS = set(['log', 'txt', 'zip', 'tar', 'tgz'])
DISALLOWED_EXTENSIONS = set(['exe', 'mp4', 'avi', 'mkv'])
ALLOWED_MIME_TYPES = set(['text/plain', 'application/x-bzip2', 'application/zip', 'application/x-gzip',
                          'application/x-tar'])
DISALLOWED_MIME_TYPES = set(['application/x-dosexec', 'application/x-msdownload'])
TARGETED_TAR_CONTENTS = set(['controller', 'storage', 'compute'])
SERVER_ADMINS = custom_server_admins
THRESHOLD = 0.8

oid = flask_openid.OpenID(app, safe_roots=[], extension_responses=[pape.Response])


def delete_old_files():
    time_before = datetime.now() - timedelta(months=6)
    with connect().cursor() as cursor:
        files_sql = "SELECT name, user_id, launchpad_id FROM files WHERE modified_date<%s;"
        cursor.execute(files_sql, (time_before,))
        files = cursor.fetchall()
        for file in files:
            os.remove(os.path.join(app.config['BASE_DIR'], 'files', file['user_id'], str(file['launchpad_id']),
                                   file['name']))
            logging.info('Outdated file deleted: {}/{}/{}'.format(file['user_id'], file['launchpad_id'], file['name']))

        sql = "DELETE FROM files WHERE modified_date<%s;"
        cursor.execute(sql, (time_before,))