示例#1
0
文件: api.py 项目: kidig/beetlejuice
import api.schema as s
from api.exceptions import RequestParseError
from api.spec import Spec, Response
from api.views import ApiView, Method
from api.router import Router
from django.conf import settings
from django.contrib.auth import authenticate, login, logout
from django.db.models import Q
from django.shortcuts import redirect

from . import signals
from .models import User
from .utils import random_key
import copy

router = Router(namespace='api')

Errors = s.Object(errors=s.Array(s.String()), )

UserDef = s.Definition(
    'User',
    s.Object(
        id=s.Integer(),
        email=s.String(),
        first_name=s.String(),
        short_name=s.String(),
        avatar=s.Optional(s.String()),
    ))


class Signin(ApiView):
示例#2
0
import api.schema as s
from api.router import Router
from api.spec import Spec, Response
from api.views import ApiView, Method

router = Router()


class GetMethod(ApiView):
    """sample view doc"""

    spec = Spec(Method.GET, s.Empty, Response(204, description='okay'))

    def handle(self, data):
        return 204


class PostMethod(ApiView):
    spec = Spec(Method.POST, s.Empty, Response(204))

    def handle(self, data):
        return 204


class InContractView(ApiView):
    spec = Spec(Method.GET, s.Query(foo=s.Number()), Response(204))

    def handle(self, data):
        return 204

示例#3
0
from api.router import Router

if __name__ == '__main__':
    rt = Router()
    rt.listen("127.0.0.1", port=6001, ws_port=6002)
    # rt.set_domain("example.com")      # 如果在服务器上使用
    # rt.enable_debug()                 # 启用 Flask 调试
    rt.run()
示例#4
0
文件: app.py 项目: lidatong/got-api
from operator import attrgetter

from flask import Flask

from api.db import (select_episode_by_season_and_episode_ids,
                    select_episodes_by_season_id,
                    select_ids_to_seasons)
from api.decorators import jsonify, search, sortable
from api.encoder import AppEncoder
from api.router import Router

app = Flask(__name__)
app.json_encoder = AppEncoder
router = Router(app)


@router.route('/')
@jsonify
def index():
    return router


@router.route('/seasons')
@jsonify
@sortable('id', 'synopsis')
@search('id')
def index_seasons():
    return list(select_ids_to_seasons().values())


@router.route('/seasons/<int:season_id>')