def create_app(script_info=None): app = Flask(__name__, instance_relative_config=True) # carrega a configuracao baseado no variavel de ambiente FLASK_CONFIG # ou utiliza a configuracao para um ambiente de desenvolvimento config_name = os.getenv('FLASK_CONFIG', 'development') # configuracoes padroes baseadas no ambiente app.config.from_object(CONFIG_NAME_MAPPER[config_name]) with app.app_context(): # registra database from app.models import db db.init_app(app) # inicia extensao de migrate migrate = Migrate() migrate.init_app(app=app, db=db) # registra modulo de autenticacao from app.auth import jwt jwt.init_app(app) # registra modulos de resources from app import auth auth.init_app(app) from app import api api.init_app(app) return app
def create_app(): app = Flask(__name__) app.wsgi_app = ProxyFix(app.wsgi_app) api.init_app(app) config.init_app(app) models.init_app(app) return app
def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) config[config_name].init_app(app) db.init_app(app) cors.init_app(app) from app import api api.init_app(app) return app
def init_app() -> Flask: """ :return: """ from app import api from app.api import routes from app import models app = Flask(__name__) models.init_app(app) routes.init_app(app) api.init_app(app) admin.init_app(app) return app
def create_app(config_name): '''Applcation Object 생성 함수''' app = Flask(import_name=__name__, instance_relative_config=True, static_url_path="/", static_folder="static/", template_folder="templates/") app.config.from_object(config[config_name]) config[config_name].init_app(app) jwt_manager.init_app(app) cors.init_app(app) api.init_app(app) app.register_blueprint(error_bp) app.register_blueprint(template_bp) return app
def create_app(config_name): '''Applcation Object 생성 함수''' app = Flask(import_name=__name__, instance_relative_config=True, static_url_path="/", static_folder='client/', template_folder='client/') app.config.from_object(config[config_name]) config[config_name].init_app(app) jwt_manager.init_app(app) cors.init_app(app) api.init_app(app) app.register_blueprint(error_bp) app.register_blueprint(template_bp) app.register_blueprint(log_bp, url_prefix='/api/log') app.register_blueprint(comtris_v1_bp, url_prefix='/api/comtris/v1') return app
def create_app() -> Flask: app = Flask(__name__, instance_relative_config=True) # order matters app.config.from_pyfile('sensitive.py') app.config.from_object(app_config[app.config['DEVELOPMENT_STAGE']]) app.url_map.strict_slashes = False db.init_app(app) ma.init_app(app) migrate.init_app(app, db) swag.init_app(app) www.init_app(app) api.init_app(app) # error handler init_error_handlers(app) # enable CORS CORS(app) return app
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import Department as DepartmentModel from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource from app.auth import roles_required department_list_blueprint = Blueprint('department_list_blueprint', __name__) api.init_app(department_list_blueprint) class DepartmentList(Resource): method_decorators = [jwt_required()] def get(self): departmentlist = [] for department in DepartmentModel.list(): children = [] for child in department.children: children.append({ 'id': child.id, 'parent_id': child.parent_id, 'name': child.name, 'description': child.description, }) model = { 'id': department.id, 'parent_id': department.parent_id,
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import Manufacturer as ManufacturerModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource manufacturer_blueprint = Blueprint('manufacturer_blueprint', __name__) api.init_app(manufacturer_blueprint) class Manufacturer(Resource): method_decorators = [jwt_required()] def get(self, id): manufacturer = ManufacturerModel.find(id=id) assets = [] for asset in manufacturer.assets: assets.append(asset.id) model = { 'manufacturer': { 'id': manufacturer.id, 'description': manufacturer.description, 'title': manufacturer.title, 'note': manufacturer.note, 'assets': assets, 'image': manufacturer.image } }
from flask import render_template from app.main import create_app from app import api # from app import blueprint # main_app.register_blueprint(blueprint) main_app = create_app('dev') @main_app.route('/login', methods=['GET']) @main_app.route('/byPage', methods=['GET']) @main_app.route('/byConditions', methods=['GET']) def index(): return render_template('index.html') api.init_app(main_app) main_app.app_context().push() def list_available_routes(): for i, router in enumerate(main_app.url_map.iter_rules()): print(i, router) if __name__ == '__main__': # list_available_routes() main_app.run()
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import Unit as UnitModel from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource from app.auth import roles_required units_blueprint = Blueprint('units_blueprint', __name__) api.init_app(units_blueprint) import dateutil.parser from app.assets import Asset class Units(Resource): method_decorators = [jwt_required()] def get(self): units = [] for unit in UnitModel.list(): units.append({ 'id': unit.id, 'status': unit.status, 'tag': unit.tag, 'note': unit.note, 'purchase_cost': unit.purchase_cost, 'warranty_expiration': unit.warranty_expiration, 'end_of_life': unit.end_of_life, 'asset': unit.asset_id, }) return jsonify({'units': units}) @roles_required(['administrator'])
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import Activity from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource import dateutil.parser activities_blueprint = Blueprint('activities_blueprint', __name__) api.init_app(activities_blueprint) class Activities(Resource): method_decorators = [jwt_required()] def get(self): activities = [] for activity in Activity.list(): activities.append({ 'id': activity.id, 'work_order': activity.work_order_id, 'date': activity.date, 'type': activity.type, 'note': activity.note }) return jsonify({'activities': activities}) def post(self): json = request.json['activity'] print dateutil.parser.parse(json['date'])
from flask import Blueprint, jsonify from model import Setting as SettingModel from flask_jwt import jwt_required from app import api from flask_restful import Resource setting_list_blueprint = Blueprint('setting_list_blueprint', __name__) api.init_app(setting_list_blueprint) class SettingList(Resource): method_decorators = [jwt_required()] def get(self): settinglist = [] for setting in SettingModel.list(): model = { 'id': setting.id, 'title': setting.title, 'value': setting.value } settinglist.append(model) return jsonify({'settings': settinglist})
from flask import Blueprint, request, jsonify from model import User as UserModel from app.messages.model import Message from app import api from flask_restful import Resource, abort access_request_blueprint = Blueprint('access_request_blueprint', __name__) api.init_app(access_request_blueprint) class AccessRequest(Resource): def post(data): json = request.json['accessRequest'] user = UserModel.find(email=json['email']) if user is not None: resp = jsonify({ 'status': 409, 'message': 'Conflict.' }) resp.status_code = 409 return resp user = UserModel( email=json['email'], firstname=json['firstname'], lastname=json['lastname'], username=json['firstname'] + '.' + json['lastname'], status='pending',
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from flask_jwt import jwt_required from app import jwt, api, db from flask_restful import Resource from app.users import User import string import random from app import mail from flask_mail import Message from model import PasswordToken from app.users import User set_new_password_blueprint = Blueprint('set_new_password_blueprint', __name__) api.init_app(set_new_password_blueprint) class SetNewPassword(Resource): def get(self): return '', 200 def post(self): print request.json['token'] token = PasswordToken.find(_token=request.json['token']) if token is not None: user = User.find(id=token.user_id) user.password = request.json['password'] return '', 200 abort(400)
from flask import Blueprint, send_file, request, redirect, abort, make_response, jsonify, render_template, g from flask_jwt import jwt_required, current_user from app import api from flask_restful import Api, Resource, url_for current_user_blueprint = Blueprint('current_user_blueprint', __name__) api.init_app(current_user_blueprint) class CurrentUser(Resource): method_decorators = [jwt_required()] def get(self): messages = [] for message in current_user.messages: messages.append(message.id) work_orders = [] for work_order in current_user.work_orders: work_orders.append({ 'id': work_order.id, 'department': work_order.department_id, 'user': work_order.user_id, 'asset': work_order.asset_id }) model = { 'user': { 'id': current_user.id, 'user_id': current_user.id,
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from flask_jwt import jwt_required from app import jwt, api, db from flask_restful import Resource from app.users import User import string import random from app import mail from flask_mail import Message from model import PasswordToken force_blueprint = Blueprint('force_blueprint', __name__) api.init_app(force_blueprint) class Force(Resource): method_decorators = [jwt_required()] def get(self, id): user = User.find(id=id) user.password = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(32)) user.save() token = PasswordToken() token._token = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(32)) token.user_id = user.id token.save() msg = Message() msg.html = render_template('force_email.html', token=token._token)
def register_blueprints(app: Flask): # 配置接口以及视图 views.init_app(app) api.init_app(app)
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from flask_jwt import jwt_required from app import jwt, api, db from flask_restful import Resource from app.users import User import string import random from app import mail from flask_mail import Message from model import PasswordToken from app.users import User set_new_password_blueprint = Blueprint('set_new_password_blueprint', __name__) api.init_app(set_new_password_blueprint) class SetNewPassword(Resource): def get(self): return '', 200 def post(self): print request.json['token'] token = PasswordToken.find(_token=request.json['token']) if token is not None: user = User.find(id=token.user_id) user.password = request.json['password'] return '', 200 abort(400) def put(self):
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from flask_jwt import jwt_required from app import jwt, api, db from flask_restful import Resource from app.users import User import string import random from app import mail from flask_mail import Message from model import PasswordToken force_blueprint = Blueprint('force_blueprint', __name__) api.init_app(force_blueprint) class Force(Resource): method_decorators = [jwt_required()] def get(self, id): user = User.find(id=id) user.password = ''.join( random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(32)) user.save() token = PasswordToken() token._token = ''.join( random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(32)) token.user_id = user.id
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from model import Activity from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource import dateutil.parser activities_blueprint = Blueprint('activities_blueprint', __name__) api.init_app(activities_blueprint) class Activities(Resource): method_decorators = [jwt_required()] def get(self): activities = [] for activity in Activity.list(): activities.append({ 'id': activity.id, 'work_order': activity.work_order_id, 'date': activity.date, 'type': activity.type, 'note': activity.note }) return jsonify({'activities': activities}) def post(self): json = request.json['activity'] print dateutil.parser.parse(json['date'])
from flask import Blueprint, request, jsonify from model import User as UserModel from app.departments.model import Department from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource import random, string from app.auth import roles_required user_list_blueprint = Blueprint('user_list_blueprint', __name__) api.init_app(user_list_blueprint) class UserList(Resource): method_decorators = [jwt_required()] def get(self): userlist = [] for user in UserModel.list(): departments = [] for department in user.departments: departments.append({ 'id': department.id, 'parent_id': department.parent_id, 'name': department.name, 'description': department.description })
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import WorkOrder from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource work_orders_blueprint = Blueprint('work_orders_blueprint', __name__) api.init_app(work_orders_blueprint) class WorkOrders(Resource): method_decorators = [jwt_required()] def get(self): work_orders = [] activities = [] for work_order in WorkOrder.list(): for activity in work_order.activities: activities.append(activity.id) unit = '' if work_order.unit is not None: unit = { 'id': work_order.unit.id, 'status': work_order.unit.status, 'tag': work_order.unit.tag, 'purchase_cost': work_order.unit.purchase_cost, 'warranty_expiration': work_order.unit.warranty_expiration, 'end_of_life': work_order.unit.end_of_life, 'asset': work_order.unit.asset_id,
from flask import Blueprint, request, jsonify from model import User as UserModel from app.messages.model import Message from app import api from flask_restful import Resource, abort access_request_blueprint = Blueprint('access_request_blueprint', __name__) api.init_app(access_request_blueprint) class AccessRequest(Resource): def post(data): json = request.json['accessRequest'] user = UserModel.find(email=json['email']) if user is not None: resp = jsonify({'status': 409, 'message': 'Conflict.'}) resp.status_code = 409 return resp user = UserModel(email=json['email'], firstname=json['firstname'], lastname=json['lastname'], username=json['firstname'] + '.' + json['lastname'], status='pending', employee_id=json['employee_id'], password=json['password']) if user.save(): user = user.find(username=user.username)
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from model import User as UserModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource password_change_blueprint = Blueprint('password_change_blueprint', __name__) api.init_app(password_change_blueprint) class PasswordChange(Resource): def get(self, password_token): pass def post(self, password_token): pass def put(self, password_token): pass api.add_resource(PasswordChange, '/api/password/<password_token>')
from flask import Blueprint, jsonify from model import Message as MessageModel from flask_jwt import jwt_required, current_user from app import api from flask_restful import Resource message_list_blueprint = Blueprint('message_list_blueprint', __name__) api.init_app(message_list_blueprint) class MessageList(Resource): method_decorators = [jwt_required()] def get(self): messagelist = [] for message in MessageModel.list(): model = { 'id': message.id, 'to_user': message.to_user, 'from_user': message.from_user, 'type': message.type, 'read': message.read } messagelist.append(model) return jsonify({'assets': messagelist})
def init_app(app, *kwargs): api_v1_blueprints = Blueprint('api', __name__, url_prefix='/api/v1') api.init_app(api_v1_blueprints) app.register_blueprint(api_v1_blueprints)
from flask import Blueprint, send_file, request, redirect, abort, make_response, jsonify, render_template,g from flask_jwt import jwt_required, current_user from app import api from flask_restful import Api, Resource, url_for current_user_blueprint = Blueprint('current_user_blueprint', __name__) api.init_app(current_user_blueprint) class CurrentUser(Resource): method_decorators = [jwt_required()] def get(self): messages = [] for message in current_user.messages: messages.append(message.id) work_orders = [] for work_order in current_user.work_orders: work_orders.append({ 'id': work_order.id, 'department': work_order.department_id, 'user': work_order.user_id, 'asset': work_order.asset_id }) model = { 'user': { 'id': current_user.id,
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from model import Department as DepartmentModel from flask_jwt import jwt_required, current_user from app import jwt, api from flask_restful import Resource from app.auth import roles_required department_list_blueprint = Blueprint('department_list_blueprint', __name__) api.init_app(department_list_blueprint) class DepartmentList(Resource): method_decorators = [jwt_required()] def get(self): departmentlist = [] for department in DepartmentModel.list(): children = [] for child in department.children: children.append({ 'id': child.id, 'parent_id': child.parent_id, 'name': child.name, 'description': child.description, }) model = { 'id': department.id, 'parent_id': department.parent_id, 'name': department.name,
import uvicorn from app.config.environment import get_settings from app.api import init_app _SETTINGS = get_settings() web_app = init_app(_SETTINGS) def start_web_server() -> None: settings = get_settings() uvicorn.run( "app:web_app", host=settings.WEB_SERVER_HOST, port=settings.WEB_SERVER_PORT, reload=settings.WEB_SERVER_RELOAD, log_level=settings.LOG_LEVEL, )
app.register_blueprint(app_blue, url_prefix='/app') # session的配置 app.config['SESSION_TYPE'] = 'redis' app.config['SESSION_REDIS'] = redis.Redis(host='127.0.0.1', port=6379) # 配置数据库 app.config[ 'SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]:3306/helloflask3' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SECRET_KEY'] = 'secret_key' app.debug = True # 第一种 se = Session() se.init_app(app) # 第二种 # Session(app=app) db.init_app(app) debug = DebugToolbarExtension() debug.init_app(app) api.init_app(app) manager = Manager(app) if __name__ == '__main__': manager.run()
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from model import User as UserModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource from app.departments.model import Department user_blueprint = Blueprint('user_blueprint', __name__) api.init_app(user_blueprint) class User(Resource): method_decorators = [jwt_required()] def get(self, id): user = db.session.query(UserModel).get(id) departments = [] for department in user.departments: departments.append({ 'id': department.id, 'parent_id': department.parent_id, 'name': department.name, 'description': department.description }) work_orders = [] for work_order in current_user.work_orders: work_orders.append({ 'id': work_order.id, 'department': work_order.department_id, 'user': work_order.user_id,
def web_app_fixture(env_settings): return init_app(env_settings)
from flask import Blueprint, jsonify, request from model import Asset as AssetModel from flask_jwt import jwt_required from app import api from flask_restful import Resource from app.auth import roles_required from app.manufacturers import Manufacturer asset_blueprint = Blueprint('asset_blueprint', __name__) api.init_app(asset_blueprint) class Asset(Resource): method_decorators = [jwt_required()] def get(self, id): asset = AssetModel.find(id=id) units = [] for unit in asset.units: units.append({ 'id': unit.id, 'status': unit.status, 'tag': unit.tag, 'purchase_cost': unit.purchase_cost, 'warranty_expiration': unit.warranty_expiration, 'end_of_life': unit.end_of_life, 'asset': unit.asset_id, })
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template, g from model import User as UserModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource password_token_blueprint = Blueprint('password_token_blueprint', __name__) api.init_app(password_token_blueprint) class PasswordToken(Resource): method_decorators = [jwt_required()] def get(self, id): pass def post(self, id): pass def put(self, id): pass api.add_resource(PasswordToken, '/api/password_token/<int:id>')
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import User as UserModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource password_change_blueprint = Blueprint('password_change_blueprint', __name__) api.init_app(password_change_blueprint) class PasswordChange(Resource): def get(self, password_token): pass def post(self, password_token): pass def put(self, password_token): pass api.add_resource(PasswordChange, '/api/password/<password_token>')
def setUp(self): app = Flask(__name__) app = UnitTestConfig(app).set_config() db.init_app(app) api.init_app(app) self.app = app.test_client()
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import User as UserModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource password_token_blueprint = Blueprint('password_token_blueprint', __name__) api.init_app(password_token_blueprint) class PasswordToken(Resource): method_decorators = [jwt_required()] def get(self, id): pass def post(self, id): pass def put(self, id): pass api.add_resource(PasswordToken, '/api/password_token/<int:id>')
from flask import Blueprint, jsonify, request from model import Asset as AssetModel from flask_jwt import jwt_required from app import api from flask_restful import Resource from app.auth import roles_required from app.manufacturers import Manufacturer asset_blueprint = Blueprint('asset_blueprint', __name__) api.init_app(asset_blueprint) class Asset(Resource): method_decorators = [jwt_required()] def get(self, id): asset = AssetModel.find(id=id) units = [] for unit in asset.units: units.append({ 'id': unit.id, 'status': unit.status, 'tag': unit.tag, 'purchase_cost': unit.purchase_cost, 'warranty_expiration': unit.warranty_expiration, 'end_of_life': unit.end_of_life, 'asset': unit.asset_id, }) model = {
from flask import Blueprint, request, redirect, abort, make_response, jsonify, render_template,g from model import User as UserModel from flask_jwt import jwt_required, current_user from app import jwt, api, db from flask_restful import Resource from app.departments.model import Department user_blueprint = Blueprint('user_blueprint', __name__) api.init_app(user_blueprint) class User(Resource): method_decorators = [jwt_required()] def get(self, id): user = db.session.query(UserModel).get(id) departments = [] for department in user.departments: departments.append({ 'id': department.id, 'parent_id': department.parent_id, 'name': department.name, 'description': department.description }) work_orders = [] for work_order in current_user.work_orders: work_orders.append({ 'id': work_order.id, 'department': work_order.department_id, 'user': work_order.user_id, 'asset': work_order.asset_id })