コード例 #1
0
    os.path.realpath(os.path.dirname(__file__) + '/../../../local'),
    "application.cfg")
if os.path.isfile(app_config_file):
    app.config.from_pyfile(app_config_file, silent=True)
elif platform == "linux2" and os.path.isfile('/etc/astrobox/application.cfg'):
    app.config.from_pyfile('/etc/astrobox/application.cfg', silent=True)

assets = Environment(app)
Compress(app)

userManager = None
eventManager = None
loginManager = None
softwareManager = None

principals = Principal(app)
admin_permission = Permission(RoleNeed("admin"))
user_permission = Permission(RoleNeed("user"))

# only import the octoprint stuff down here, as it might depend on things defined above to be initialized already
from octoprint.server.util import LargeResponseHandler, ReverseProxied, restricted_access, PrinterStateConnection, admin_validator, \
 UrlForwardHandler, user_validator
from astroprint.printer.manager import printerManager
from octoprint.settings import settings
import octoprint.util as util
import octoprint.events as events
#import octoprint.timelapse

import astroprint.users as users

from astroprint.software import softwareManager as swManager
コード例 #2
0
ファイル: web.py プロジェクト: yix/MateDealer
##############################################################################
# Settings
##############################################################################

DEBUG = False  #True

##############################################################################

app = Flask(__name__)
app.config.from_object(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///matedealer.db'
app.config['SECRET_KEY'] = "thats-my-secret"
db = SQLAlchemy(app)
lm = LoginManager()
lm.setup_app(app)
principal = Principal(app)

permission_admin = Permission(RoleNeed(u'admin'))
permission_treasurer = Permission(RoleNeed(u'treasurer'))
permission_user = Permission(RoleNeed(u'user'))

##############################################################################
# Database Models
##############################################################################

# Helper table for many-to-many realtionship of users <> roles
roles = db.Table('roles',
                 db.Column('role_id', db.Integer, db.ForeignKey('role.id')),
                 db.Column('user_id', db.Integer, db.ForeignKey('user.id')))

コード例 #3
0
ファイル: core.py プロジェクト: wbashir/flask-security
def _get_principal(app):
    p = Principal(app, use_sessions=False)
    p.identity_loader(_identity_loader)
    return p
コード例 #4
0
ファイル: config.py プロジェクト: SteelCode23/Python-REST-API
from flask import flash, redirect, url_for, session
from flask.ext.bcrypt import Bcrypt
from flask.ext.openid import OpenID
from flask.ext.login import LoginManager
from flask.ext.principal import Principal, Permission, RoleNeed
from flask.ext.restful import Api

bcrypt = Bcrypt()
oid = OpenID()
principals = Principal()

admin_permission = Permission(RoleNeed('admin'))
poster_permission = Permission(RoleNeed('poster'))
default_permission = Permission(RoleNeed('default'))


class Config(object):
    SECRET_KEY = '736670cb10a600b695a55839ca3a5aa54a7d7356cdef815d2ad6e19a2031182b'
    RECAPTCHA_PUBLIC_KEY = "6LdKkQQTAAAAAEH0GFj7NLg5tGicaoOus7G9Q5Uw"
    RECAPTCHA_PRIVATE_KEY = '6LdKkQQTAAAAAMYroksPTJ7pWhobYb88fTAcxcYn'


class ProdConfig(Config):
    #SQLALCHEMY_DATABASE_URI = 'postgresql://*****:*****@localhost/elogstation1'
    #SQLALCHEMY_DATABASE_URI = 'postgresql://*****:*****@localhost/elogstation'
    SQLALCHEMY_DATABASE_URI = 'postgresql://*****:*****@localhost/elogstation10'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///../database3.db'

    #SQLALCHEMY_DATABASE_URI = 'sqlite:///../database9.db'
    CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0'
    CELERY_BACKEND_URL = 'redis://127.0.0.1:6379/0'
コード例 #5
0
# -*- coding: utf-8 -*-
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.admin import Admin
from flask.ext.login import LoginManager
from flask.ext.principal import Principal
from config import config
from permission import config_identity

app = None
db = SQLAlchemy()
admin_app = Admin()
login_manager = LoginManager()
principal = Principal()


def create_app(config_name):
    global app
    app = Flask(__name__, static_folder='static', template_folder='templates')
    app.config.from_object(config[config_name])
    admin_app.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    principal.init_app(app)

    config_identity(app)

    from .api_1_0 import api as api_1_0_blueprint
    app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0')

    from .admin import admin as admin_blueprint
コード例 #6
0
ファイル: oauth_auth.py プロジェクト: ericcong/FABULAS
from flask import Flask, request, redirect, session, jsonify, url_for
import sqlite3
from flask_oauthlib.client import OAuth, OAuthException
from flask.ext.principal import Principal, Permission, identity_changed, Identity, identity_loaded

app = Flask(__name__)
Principal(app)
oauth = OAuth(app)

app.debug = True  # TODO: in production, change this to 'False'
app.secret_key = 'super secret key'  # TODO: change this!!!

# TODO: Define Permission tags here.
logged_in_permission = Permission(('logged in'))
role_admin_permission = Permission(('role', 'admin'))

# TODO: change this
consumer_key = ''
consumer_secret = ''

google = oauth.remote_app(
    'google',
    consumer_key=consumer_key,
    consumer_secret=consumer_secret,
    request_token_params={
        'scope': 'https://www.googleapis.com/auth/userinfo.email'
    },
    base_url='https://www.googleapis.com/oauth2/v1/',
    request_token_url=None,
    access_token_method='POST',
    access_token_url='https://accounts.google.com/o/oauth2/token',
コード例 #7
0
import logging
import flask
from flask.ext.principal import (Principal, Permission, Identity, RoleNeed,
                                 UserNeed, PermissionDenied)
from werkzeug.urls import url_encode
from art17.ldap_access import open_ldap_server

auth = flask.Blueprint('auth', __name__)

principals = Principal(use_sessions=False)


class need(object):
    """ A list of needs defined by our application. """

    everybody = RoleNeed('everybody')
    admin = RoleNeed('admin')
    authenticated = RoleNeed('authenticated')
    impossible = RoleNeed('impossible')

    expert = RoleNeed('expert')
    reviewer = RoleNeed('reviewer')
    reporter = RoleNeed('reporter')
    validator = RoleNeed('validator')

    @staticmethod
    def user_id(user_id):
        return UserNeed(user_id)

    @staticmethod
    def role(role):
コード例 #8
0
def configure_identity(app):
    principal = Principal(app)

    @identity_loaded.connect_via(app)
    def on_identity_loaded(sender, identity):
        g.user = User.query.from_identity(identity)
コード例 #9
0
ファイル: __init__.py プロジェクト: kabdessamad1/bluemonk
#OpenID
from flask.ext.openid import OpenID
from bluemonk.libs.openid_store import DatabaseOpenIDStore
oid = OpenID(app, store_factory=DatabaseOpenIDStore)

# Asynchronous processing
from bluemonk.celery import celery

#Mails
from bluemonk.libs.mailer import Mailer
mailer = Mailer(app)

#Identity
from flask.ext.principal import Principal, PermissionDenied
principals = Principal(app, skip_static=True)

#cups error
from bluemonk.proxies.printers_proxy import CupsError


@app.errorhandler(CupsError)
def handle_cups_error(error):
    referrer = request.referrer
    return render_template('cups_error.html', error=error,
                           referrer=referrer), 500


@app.errorhandler(PermissionDenied)
def handle_permission_error(error):
    #TODO Log permission error
コード例 #10
0
ファイル: __init__.py プロジェクト: sike26/PFA-TransportTrack
from libraries.graphLib.graphe_tbc import GraphTBC

#Create Flask app
server = Flask(__name__)

# Import Config
server.config.from_pyfile('../server.config')

# SQLAlchemy
db = SQLAlchemy(server)

# Celery
celery = make_celery(server)

# Graphe
G = GraphTBC()

from project.libraries.celeryLib.tasks import *

# FlaskLogin
login_manager = LoginManager(server)

# FlaskPrincipal
Principal(server)

# FlaskGCM
clientGCM = FlaskGCM(server)

# FlaskAPNS
clientAPNS = FlaskAPNS(server)