#初始化定义application app = Flask(__name__) app.config.update( REDIS_URL=RQREDIS, RQ_POLL_INTERVAL=2500, ISSO_API=PLUGINS["ISSO"]["api"], ) #初始化插件管理器(自动扫描并加载运行) plugin_packages = [] if PLUGINS["Valine"]["enable"] in ("true", True, "True"): plugin_packages.append("flask_pluginkit_valine") if PLUGINS["ISSO"]["enable"] in ("true", True, "True"): plugin_packages.append("flask_pluginkit_isso") plugin = PluginManager(app, logger=logger.plugin, stpl=True, plugin_packages=plugin_packages) #初始化接口管理器 api = ApiManager() #注册蓝图路由,可以修改前缀 app.register_blueprint(front_blueprint) app.register_blueprint(api_blueprint, url_prefix="/api") app.register_blueprint(admin_blueprint, url_prefix="/admin") app.register_blueprint(upload_blueprint, url_prefix="/upload") app.register_blueprint(rq_dashboard.blueprint, url_prefix="/rqdashboard") @app.context_processor def GlobalTemplateVariables():
# 初始化定义application app = Flask(__name__) app.config.update(SECRET_KEY=os.urandom(24), MAX_CONTENT_LENGTH=4 * 1024 * 1024) # 初始化接口管理器 api = DO({ "userapp": UserAppManager(), "usersso": UserSSOManager(), "usermsg": UserMsgManager(), "userprofile": UserProfileManager(), }) # 初始化插件管理器(自动扫描并加载运行) plugin = PluginManager(app) # 注册视图包中蓝图 app.register_blueprint(FrontBlueprint) app.register_blueprint(ApiBlueprint, url_prefix="/api") # 添加模板上下文变量 @app.context_processor def GlobalTemplateVariables(): data = { "Version": __version__, "Author": __author__, "Email": __email__, "Doc": __doc__, "CONFIG": config,
def test_extself_raise(self): with self.assertRaises(PluginError) as cm: PluginManager(Flask(__name__), plugin_packages=123) PluginManager(Flask(__name__), plugin_packages=["non_ppk"])
from views import api_blueprint, front_blueprint, admin_blueprint, upload_blueprint reload(sys) sys.setdefaultencoding('utf-8') #初始化定义application app = Flask(__name__) app.config.update( REDIS_URL = RQREDIS, RQ_POLL_INTERVAL = 2500, PLUGINKIT_AUTHMETHOD = "BOOL", PLUGINKIT_GUNICORN_ENABLED = True, PLUGINKIT_GUNICORN_PROCESSNAME = 'gunicorn: master [%s]' %GLOBAL['ProcessName'] ) #初始化插件管理器(自动扫描并加载运行) plugin = PluginManager(app, logger=logger.plugin, stpl=True) #初始化接口管理器 api = ApiManager() #注册蓝图路由,可以修改前缀 app.register_blueprint(front_blueprint) app.register_blueprint(api_blueprint, url_prefix="/api") app.register_blueprint(admin_blueprint, url_prefix="/admin") app.register_blueprint(upload_blueprint, url_prefix="/upload") app.register_blueprint(rq_dashboard.blueprint, url_prefix="/rqdashboard") @app.context_processor def GlobalTemplateVariables(): data = {"Version": __version__, "Author": __author__, "Email": __email__, "Doc": __doc__, "ChoiceColor": ChoiceColor, "TagRandomColor": TagRandomColor, "timestamp_to_timestring": timestamp_to_timestring, "PLUGINS": PLUGINS} return data
EXAMPLE_DIR = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "examples/fulldemo", ) sys.path.append(EXAMPLE_DIR) #: app1 with flask-pluginkit app1 = Flask("app1") app1.config.update( TESTING=True, PLUGINKIT_TEST=True, PLUGINKIT_AUTH_METHOD="FUNC", PLUGINKIT_AUTH_FUNC=lambda: True, ) PluginManager(app1) app1.register_blueprint(blueprint) #: app2 without flask-pluginkit app2 = Flask("app2") app2.config["TESTING"] = True app2.register_blueprint(blueprint) #: app3 with flask-pluginkit and exflask def create_app3(): app3 = ExFlask("app3") app3.config["TESTING"] = True pm = PluginManager(pluginkit_config=dict(whoami="app3")) pm.init_app(app3) return app3
def create_app3(): app3 = ExFlask("app3") app3.config["TESTING"] = True pm = PluginManager(pluginkit_config=dict(whoami="app3")) pm.init_app(app3) return app3
# -*- coding: utf-8 -*- from flask import Flask from flask_pluginkit import PluginManager app = Flask(__name__) pm = PluginManager(app) @app.route("/") def index(): return "hello world"
__author__ = 'staugur' __email__ = '*****@*****.**' __doc__ = '基于Inception,一个审计、执行、回滚、统计sql的开源系统' __date__ = '2018-08-08' # 初始化定义application app = Flask(__name__) app.config.update( SECRET_KEY=os.urandom(24), REDIS_URL=REDIS, RQ_POLL_INTERVAL=2500, ) # 初始化插件管理器(自动扫描并加载运行) plugin = PluginManager(app, logger=plugin_logger) # 注册视图包中蓝图 app.register_blueprint(FrontBlueprint) app.register_blueprint(rq_dashboard.blueprint, url_prefix="/rqdashboard") app.register_blueprint(rq_scheduler_dashboard.blueprint, url_prefix="/rqschedulerdashboard") # 添加模板上下文变量 @app.context_processor def GlobalTemplateVariables(): data = { "Version": __version__, "Author": __author__, "Email": __email__,
from flask import Flask from flask_pluginkit import PluginManager def set_userinfo(uid, userinfo): print(uid, userinfo) app = Flask(__name__) app.config["PLUGINKIT_SETUSERINFO_CALLBACK"] = set_userinfo plugin = PluginManager(app, plugin_packages=["flask_pluginkit_ssoclient"]) if __name__ == "__main__": app.run(debug=True)
# -*- coding: utf-8 -*- from flask import Flask, render_template_string from flask_pluginkit import PluginManager, blueprint app = Flask(__name__) app.config.update(PLUGINKIT_AUTH_AID_METHOD="IP", PLUGINKIT_AUTH_IP_WHITELIST=["127.0.0.1"]) pm = PluginManager( app, plugin_packages=["flask_pluginkit_demo"], pluginkit_config=dict(whoami="localdemo_config"), ) app.register_blueprint(blueprint, url_prefix="/pluginmanager") @app.route("/") def index(): return render_template_string("""\ <html> <head> {{ emit_assets('localdemo','css/style.css') }} </head> <body> {{ emit_tep('code') }} {{ emit_tep('html') }} <div id='demo'></div> {{ emit_assets('localdemo','js/hello.js') }}
from flask import g, render_template, render_template_string from flask_pluginkit import Flask, PluginManager, blueprint, push_dcp __author__ = 'staugur' __email__ = '*****@*****.**' __doc__ = 'An example for Flask-PluginKit' # 初始化定义application app = Flask(__name__) #app.config["PLUGINKIT_AUTHMETHOD"] = "BOOL" app.config["PLUGINKIT_AUTHMETHOD"] = "BASIC" app.config["PLUGINKIT_AUTHREALM"] = "Flask-PluginKit Welcome" app.config["PLUGINKIT_AUTHUSERS"] = dict(admin="admin") # 初始化插件管理器(自动扫描并加载运行) plugin = PluginManager(app, s3="local") # 注册flask-pluginkit的蓝图 app.register_blueprint(blueprint, url_prefix="/PluginManager") @app.before_request_top def br(): g.signin = True @app.route("/") def index(): def set_dcp(): return render_template_string( "<p><a href=\"{{ url_for('index') }}\">dcp return</a></p>")
# -*- coding: utf-8 -*- import os import json import unittest from flask import Flask, g from flask_pluginkit import Flask as FixFlask, PluginManager, blueprint, LocalStorage, PY2, push_dcp, DCPError from jinja2 import Markup # app1 with flask-pluginkit app1 = Flask("app1") app1.config['TESTING'] = True PluginManager(app1, s3="local") app1.register_blueprint(blueprint) # app2 without flask-pluginkit app2 = Flask("app2") app2.config['TESTING'] = True app2.register_blueprint(blueprint) # app3 with fixflask app3 = FixFlask("app3") app3.config['TESTING'] = True def callback(): return "test" class PMTest(unittest.TestCase): def setUp(self):
from flask import Flask, render_template_string from flask_pluginkit import PluginManager app = Flask(__name__) app.config.update(PLUGINKIT_VALINE_APPID="g4pC9ql0dNcmeAhouAzS934z-gzGzoHsz", PLUGINKIT_VALINE_APPKEY="o43q3v8xQfpfatvQPbaATJKV") plugin = PluginManager(app, plugin_packages=["flask_pluginkit_valine"]) @app.route("/test") def test(): return "test" @app.route("/") def index(): return render_template_string(""" <html> <head> </head> <body> {{ emit_tep("valine_content") }} {{ emit_tep("valine_script") }} </body> </html> """) if __name__ == "__main__": app.run(debug=True)