def main():
    app = create_app('./strichliste.conf')
    api = Api(app)

    api.add_resource(strichliste.views.Settings, '/settings')
    api.add_resource(strichliste.views.Metrics, '/metrics')
    api.add_resource(strichliste.views.UserList, '/user')
    api.add_resource(strichliste.views.User, '/user/<int:user_id>')
    api.add_resource(strichliste.views.UserTransactionList, '/user/<int:user_id>/transaction')
    api.add_resource(strichliste.views.UserTransaction, '/user/<int:user_id>/transaction/<int:transaction_id>')
    api.add_resource(strichliste.views.Transaction, '/transaction')
    api.representation('application/json')(output_json)

    db.create_all(app=app)
    app.run(port=8080, debug=True)
Beispiel #2
0
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'commons'))

from flask import Flask
from flask_restful import Api
from settings import myconfig
from utils import ov_resp


def create_app(config, env_config_file=False):
    # create and configure the qiyi_app
    qiyi_app = Flask(__name__)
    qiyi_app.config.from_object(config)

    if env_config_file:
        qiyi_app.config.from_envvar('str', silent=True)
    from commons.models import db
    db.init_app(qiyi_app)
    return qiyi_app


app = create_app(myconfig.DevelopmentConfig)
api = Api(app)
# REPRESENTATIONS = [('application/json', ov_resp.output_json), ('text/html', ov_resp.output_html)]
# api.representations = OrderedDict(REPRESENTATIONS)
api.representation('text/html')(ov_resp.output_html)
# api.representation('application/json')(ov_resp.output_json)
Beispiel #3
0
# 蓝图初始化文件
from flask import Blueprint
from flask_restful import Api

# 1.创建蓝图对象管理用户模块
user_bp = Blueprint("user", __name__, url_prefix='/app')

# 2.将蓝图对象包装成具备有restful风格的api对象
user_api = Api(user_bp)

# 3.定义类视图[passport.py]

# 4.自定义返回的json格式
from utils.output import output_json

# 装饰器representation拦截底层返回的字典,自定义json格式
user_api.representation(mediatype="application/json")(output_json)

# 5.给类视图添加路由信息
# /app/sms/codes
# http://127.0.0.1:8000/app/sms/codes/18512341234
from app.resources.user.passport import SMSCodeResource, LoginRegisterResource

user_api.add_resource(SMSCodeResource, '/sms/codes/<mob:mobile>')
# /app/authorizations
user_api.add_resource(LoginRegisterResource, '/authorizations')
# 6在app中注册蓝图对象[app.__init__文件]
Beispiel #4
0
from flask import Blueprint
from flask_restful import Api
from utils.output import output_json

# 创建蓝图对象
search_bp = Blueprint('search', __name__)
# 创建Api对象
search_api = Api(search_bp)
# 指定自定义的json返回格式
search_api.representation('application/json')(output_json)
Beispiel #5
0
from flask import Blueprint
from flask_restful import Api
from app.resources.article.channel import AllChannelResource
from utils.constats import BASE_URL_PRIFIX

# 1.创建蓝图对象
article_bp = Blueprint('article', __name__, url_prefix=BASE_URL_PRIFIX)
# 2.根据蓝图对象创建组建对象

article_api = Api(article_bp)
# 2.创建API对象
from utils.output import output_json

article_api.representation('application/json')(output_json)

article_api.add_resource(AllChannelResource, '/channels')
Beispiel #6
0

# @goods_api.representation('application/json')
def handle_json(data, code, headers):
    # 自定义返回json格式
    if 'message' not in data:
        data = {'message': 'OK', 'data': data}

    # 原output_json(data, code, headers=None)函数内容
    """Makes a Flask response with a JSON encoded body"""

    settings = current_app.config.get('RESTFUL_JSON', {})

    # If we're in debug mode, and the indent is not set, we set it to a
    # reasonable value here.  Note that this won't override any existing value
    # that was set.  We also set the "sort_keys" value.
    if current_app.debug:
        settings.setdefault('indent', 4)
        settings.setdefault('sort_keys', not PY3)

    # always end the json dumps with a new line
    # see https://github.com/mitsuhiko/flask/pull/1262
    dumped = dumps(data, **settings) + "\n"

    resp = make_response(dumped, code)
    resp.headers.extend(headers or {})
    return resp


goods_api.representation('application/json')(handle_json)
Beispiel #7
0
from flask import Blueprint
from flask_restful import Api

from utils.output import output_json
from . import channel, article

information_bp = Blueprint('information', __name__)
information_api = Api(information_bp, catch_all_404s=True)
information_api.representation('application/json')(output_json)

# 频道列表
information_api.add_resource(channel.ChannelListResource,
                             '/v1_0/channels',
                             endpoint='ChannelList')

# 频道
information_api.add_resource(channel.ChannelResource,
                             '/v1_0/channels/<int(min=1):target>',
                             endpoint='Channel')

# 文章列表
information_api.add_resource(article.ArticleListResource,
                             '/v1_0/articles',
                             endpoint='ArticleList')

# 文章
information_api.add_resource(article.ArticleResource,
                             '/v1_0/articles/<int(min=1):target>',
                             endpoint='Article')
Beispiel #8
0
        'post': [decorator2],
    }

    def get(self):
        return {'hello': 'index page'}

    def post(self):
        return {'message': 'index page post'}


api.add_resource(IndexResources, '/', endpoint='index')
user_api.add_resource(
    UserResources,
    '/user',
)
user_api.representation('application/json')(output_json)
app.register_blueprint(user_bp)

if __name__ == '__main__':
    print(app.url_map)
    # app.run(debug=True,host='0.0.0.0')
    app.run(debug=True)


@app.route('/error')
def index():
    abort(400)
    return '我去你'


@app.errorhandler(400)
Beispiel #9
0
from flask import Blueprint
from flask_restful import Api

from apps.resources.comments.releasecomment import CommentResource
from utils.contains import BASE_URL_PREFIX

comment_bp = Blueprint('comment', __name__, url_prefix=BASE_URL_PREFIX)

comment_api = Api(comment_bp)

#添加外层包装
from utils.output_json import output_json
comment_api.representation('application/json')(output_json)

comment_api.add_resource(CommentResource, '/comments')
Beispiel #10
0
from flask import Flask, request, make_response
from flask.ext.pymongo import PyMongo
from bson.json_util import dumps
from flask_restful import Api

app = Flask(__name__)

# config mongodb
app.config['MONGO_HOST'] = 'localhost'
app.config['MONGO_PORT'] = 27017
app.config['MONGO_DBNAME'] = 'sysbca'
mongo = PyMongo(app)

# output format
def output_json(obj, code, headers=None):
	resp = make_response(dumps(obj), code)
	resp.headers.extend(headers or {})
	return resp

DEFAULT_REPRESENTATIONS = {'application/json':output_json}
api = Api(app)
api.representation = DEFAULT_REPRESENTATIONS

# blueprint route
import application.index
import application.bca.controllers
import application.bni.controllers
Beispiel #11
0
from flask import Blueprint
from flask_restful import Api

from Common.utils.output import output_json
from Controller.resources.data.dataobject import *

data_bp = Blueprint('dataobject', __name__)
data_api = Api(data_bp, catch_all_404s=True)
data_api.representation('application/json')(output_json)

#data_api.add_resource(DataListResource, '/datalist',endpoint='datalist')

data_api.add_resource(DataResource, '/data', endpoint='data')
Beispiel #12
0
from flask import Blueprint
from flask_restful import Api

from . import announcement, imtest
from utils.output import output_json

notice_bp = Blueprint('notice', __name__)
notice_api = Api(notice_bp, catch_all_404s=True)
notice_api.representation('application/json')(output_json)

notice_api.add_resource(announcement.AnnouncementListResource,
                        '/v1_0/announcements',
                        endpoint='Announcements')

notice_api.add_resource(announcement.AnnouncementResource,
                        '/v1_0/announcements/<int(min=1):target>',
                        endpoint='Announcement')

notice_api.add_resource(imtest.IMTestResource,
                        '/imtest/<string:event>',
                        endpoint='IMTest')
Beispiel #13
0
from user.api.dependencies import bp_dependencies, TodoNext
from user.auth.auth import Register, bp
from user.api.demo import Todo1
from user.error import Error
from user.utils.json import output_json

api = Api(bp)  # 将api与blueprint结合
api_dependencies = Api(bp_dependencies)
api_error = Api(error)

api.add_resource(Todo1, '/todo1', endpoint='todo666')  # 添加资源路由
api.add_resource(Todo1, '/todo/<todo_id>', endpoint='todwwwwo')
api.add_resource(Register, '/register', endpoint='register')
api_error.add_resource(Error, '/error404', endpoint='error404')


def dependencies():
    """依赖方法/类"""
    return 'i am dependencies'


api_dependencies.add_resource(
    TodoNext,
    '/todo-next',
    endpoint='todo-next',
    resource_class_kwargs={'dependencies': dependencies})  # 依赖注入实例

api.representation(mediatype='application/json')(output_json)  # 自定义返回格式
api_dependencies.representation(mediatype='application/json')(
    output_json)  # 自定义返回格式
api_error.representation(mediatype='application/json')(output_json)  # 自定义返回格式
Beispiel #14
0
from flask import Blueprint
from flask_restful import Api

from utils.output import output_json
from . import basic, search, sales, read_source

statistics_bp = Blueprint('statistics', __name__)
statistics_api = Api(statistics_bp, catch_all_404s=True)
statistics_api.representation('application/json')(output_json)

# 基本统计
statistics_api.add_resource(basic.StatisticsBasicResource,
                            '/v1_0/statistics_basic',
                            endpoint='StatisticsBasic')

# 关键字搜索统计--分页
statistics_api.add_resource(search.StatisticsSearchResource,
                            '/v1_0/statistics_search',
                            endpoint='StatisticsSearch')

# 关键字搜索统计--总数
statistics_api.add_resource(search.StatisticsSearchTotalResource,
                            '/v1_0/statistics_search_total',
                            endpoint='StatisticsSearchTotal')

# 销售额统计--总数
statistics_api.add_resource(sales.StatisticsSalesTotalResource,
                            '/v1_0/statistics_sales_total',
                            endpoint='StatisticsSalesTotal')

# 阅读来源统计-总数
Beispiel #15
0
from flask import Blueprint
from flask_restful import Api
from utils.contents import BASE_URL_PRIFIX
from utils.output import output_json
from .channels import AllChannels
from .article import ArticleListResource
# 创建蓝图对象

channel_bp = Blueprint('channel', __name__, url_prefix=BASE_URL_PRIFIX)

# 创建Api对象

channel_api = Api(channel_bp)

channel_api.representation('application/json')(output_json)

# 配置路由
channel_api.add_resource(AllChannels, '/channels')
channel_api.add_resource(ArticleListResource, '/articles')
Beispiel #16
0
from flask import Blueprint
from flask_restful import Api

from utils.output import output_json
from . import passport, administrator, group, permission, operationlog


system_bp = Blueprint('system', __name__)
system_api = Api(system_bp, catch_all_404s=True)
system_api.representation('application/json')(output_json)

# 极验--验证码
system_api.add_resource(passport.CaptchaResource, '/v1_0/captchas/<string:account>',
                      endpoint='Captcha')

# 登录认证
system_api.add_resource(passport.AuthorizationResource, '/v1_0/authorizations',
                      endpoint='Authorization')

# 密码
system_api.add_resource(passport.PasswordResource, '/v1_0/password',
                      endpoint='Password')

# 管理员(增加,查询,批量删除)
system_api.add_resource(administrator.AdministratorListResource, '/v1_0/administrators',
                      endpoint='AdministratorList')

# 单个管理员(详情,修改,删除)
system_api.add_resource(administrator.AdministratorResource, '/v1_0/administrators/<int(min=1):target>',
                      endpoint='Administrator')
Beispiel #17
0
from flask import Blueprint
from flask_restful import Api

# from . import article, collection, liking, dislike, report, comment, channel, reading
from toutiao.resources.news import article
from utils.output import output_json

news_bp = Blueprint('news', __name__)
news_api = Api(news_bp, catch_all_404s=True)
news_api.representation('application/json')(output_json)

#
# news_api.add_resource(article.ArticleResource, '/v1_0/articles/<int(min=1):.>',
#                       endpoint='Article')
#
news_api.add_resource(article.ArticleListResource,
                      '/v1_0/articles',
                      endpoint='Articles')
#
# news_api.add_resource(article.ArticleListResourceV1D1, '/v1_1/articles',
#                       endpoint='ArticlesV1_1')
#
# news_api.add_resource(article.UserArticleListResource, '/v1_0/users/<int(min=1):user_id>/articles',
#                       endpoint='UserArticles')
#
# news_api.add_resource(article.CurrentUserArticleListResource, '/v1_0/user/articles',
#                       endpoint='CurrentUserArticles')
#
# news_api.add_resource(collection.CollectionListResource, '/v1_0/article/collections',
#                       endpoint='ArticleCollections')
#
from flask import Blueprint
from flask_restful import Api

from . import images
from utils.output import output_json

upload_bp = Blueprint('upload', __name__)
upload_api = Api(upload_bp, catch_all_404s=True)
upload_api.representation('application/json')(output_json)

upload_api.add_resource(images.UploadImageResource,
                        '/upload/images',
                        endpoint='UploadImageResource')
from flask import Blueprint
from flask_restful import Api

from . import user
from utils.output import output_json

admin_bp = Blueprint('admin', __name__)
admin_api = Api(admin_bp, catch_all_404s=True)
admin_api.representation('application/json')(output_json)

admin_api.add_resource(user.AdminUserListResource,
                       '/admin/user/list',
                       endpoint='AdminUserListResource')
admin_api.add_resource(user.AdminUserInfoResource,
                       '/admin/user/info/<int(min=1):user_id>',
                       endpoint='AdminUserInfoResource')

admin_api.add_resource(user.AdminUserUpdateResource,
                       '/admin/user/update',
                       endpoint='AdminUserUpdateResource')

admin_api.add_resource(user.AdminMenuInfoResource,
                       '/admin/menu/list',
                       endpoint='AdminMenuInfoResource')

admin_api.add_resource(user.AdminRolesResource,
                       '/admin/role/list',
                       endpoint='AdminRolesResource')

admin_api.add_resource(user.AdminGetRoleInfoResource,
                       '/admin/user/role/<int(min=1):user_id>',
Beispiel #20
0
from flask import Blueprint
from flask_restful import Api

from Common.utils.output import output_json
from Controller.resources.metaobject.metaobject import *

metaobject_bp = Blueprint('metaobject', __name__)
metaobject_api = Api(metaobject_bp, catch_all_404s=True)
metaobject_api.representation('application/json')(output_json)

metaobject_api.add_resource(MetaObjectListResource,
                            '/metaobjectlist',
                            endpoint='metaobjectlist')

metaobject_api.add_resource(MetaObjectResource,
                            '/metaobject',
                            endpoint='metaobject')

metaobject_api.add_resource(MetaFieldResource,
                            '/metafield',
                            endpoint='metafield')