Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from pprint import pprint
- import wtforms_json
- from flask import Flask, g, request, redirect, url_for
- from flask_marshmallow import Marshmallow
- from flask_restful import Resource, Api
- from flask_sqlalchemy import SQLAlchemy
- from flask_wtf import FlaskForm
- from functools import wraps
- from marshmallow_sqlalchemy import ModelSchema
- from wtforms import StringField
- def createCompanyDecorator(f):
- @wraps(f)
- def decorated_function(*args, **kwargs):
- json = request.get_json()
- schema = CompanySchema()
- result = schema.load(json)
- pprint(result.data)
- '''
- form = CreateCompanyForm.from_json(json)
- if form.validate():
- print(json)
- print json
- '''
- return f(*args, **kwargs)
- return decorated_function
- def createUserDecorator(f):
- @wraps(f)
- def decorated_function(*args, **kwargs):
- json = request.get_json()
- form = CreateUserForm(obj=UserModel).from_json(json)
- print("A")
- if form.validate_on_submit():
- print("Cenas............")
- #user = UserModel()
- #form.populate_obj(user)
- return f(*args, **kwargs)
- return decorated_function
- app = Flask(__name__)
- app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
- app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
- db = SQLAlchemy(app)
- ma = Marshmallow(app)
- api = Api(app)
- wtforms_json.init()
- app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
- class Company(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- companyName = db.Column(db.String(255))
- class CompanySchema(ModelSchema):
- class Meta:
- model = Company
- sqla_session = db.session
- class CreateCompanyForm(FlaskForm):
- class Meta:
- csrf_enabled = False
- companyName = StringField('CompanyName')
- class UserModel(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- userName = db.Column(db.String(50))
- password = db.Column(db.String(50))
- class UserSchema(ModelSchema):
- class Meta:
- model = UserModel
- sqla_session = db.session
- class CreateUserForm(FlaskForm):
- class Meta:
- csrf_enabled = False
- userName = StringField('userName')
- password = StringField('password')
- class Company(Resource):
- def get(self):
- return {"Hello": "World"}
- @createCompanyDecorator
- def post(self):
- return {"Hello": "World"}
- class User(Resource):
- def get(self):
- user_schema = UserSchema()
- users = db.session.query(UserModel).all()
- result = user_schema.dump(users)
- return result
- @createUserDecorator
- def post(self):
- return {"POST": "User"}
- def put(self):
- return {"PUT": "USer"}
- api.add_resource(Company, '/company')
- api.add_resource(User, '/user')
- if __name__ == '__main__':
- db.create_all()
- app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement