示例#1
0
            'code': 20000
        }

    def delete(self):
        """
        删除文章
        """
        parse = reqparse.RequestParser()
        parse.add_argument('article_id', type = int, required = True)
        args = parse.parse_args()

        article = Article.query.filter_by(
            article_id = args.article_id
        ).first()

        if not article:
            return {
                'code':    20001,
                'message': '该文章不存在'
            }

        db.session.delete(article)
        db.session.commit()

        return {
            'code': 20000
        }


api.add_resource(ArticleOptions, '/article/options')
示例#2
0
from server import api, app
from flask_restful import Resource
from flask import send_from_directory, send_file
from datetime import datetime

import os


class Download(Resource):

    # url下载
    def get(self, filename):
        return send_from_directory(os.path.join(app.root_path, 'uploads'), filename)

    # 文件流下载
    def post(self):
        filename = g.username + str(datetime.now().strftime('%Y-%m-%d')) + '.xlsx'
        # 自行生成file_stream
        file_stream = '文件流'
        return send_file(
            file_stream,
            as_attachment = True,
            attachment_filename = filename
        )


api.add_resource(Download, '/file/uploads')
示例#3
0
        user = User.query.filter_by(email=form.email.data).first()
        if user and flask_bcrypt.check_password_hash(user.password, form.password.data):
            return UserSerializer(user).data, 201
        return '', 401


class PostListView(restful.Resource):
    def get(self):
        posts = Post.query.all()
        return PostSerializer(posts, many=True).data

    @auth.login_required
    def post(self):
        form = PostCreateForm()
        if not form.validate_on_submit():
            return form.errors, 422
        post = Post(form.title.data, form.body.data)
        db.session.add(post)
        db.session.commit()
        return PostSerializer(post).data, 201


class PostView(restful.Resource):
    def get(self, id):
        posts = Post.query.filter_by(id=id).first()
        return PostSerializer(posts).data
 
api.add_resource(UserView, '/users')
api.add_resource(SessionView, '/sessions')
api.add_resource(PostListView, '/posts')
api.add_resource(PostView, '/posts/<int:id>')
示例#4
0
    def put(self, id, sub_id):
        user = User.query.filter_by(id=id).first()
        subscribe = Subscribe.query.filter_by(id=sub_id).first()
        if user and subscribe:
            # PUT param
            self.reqparse = reqparse.RequestParser()
            self.reqparse.add_argument('tags', type = str, location = 'json')
            args = self.reqparse.parse_args()
            subscribe.tags = args['tags']
            subscribe.user = user
            db.session.commit()
            result = subscribe_schema.dump(subscribe.query.get(subscribe.id))
            return jsonify({"subscribe": result.data})
        else:
            return error_serializers('Record not found!', 404), 404

    def get(self, id, sub_id):
        user = User.query.filter_by(id=id).first()
        subscribe = Subscribe.query.filter_by(id=sub_id).first()
        if user and subscribe:
            subscribe.user = user
            result = subscribe_schema.dump(subscribe)
            return jsonify({"subscribe": result.data})
        else:
            return error_serializers('Record not found!', 404), 404

api.add_resource(LocationView,'/users/<int:user_id>/location')
api.add_resource(InvitationsView,'/users/<int:user_id>/invitations')
api.add_resource(InvitationView,'/invitations/<int:invitation_id>')
api.add_resource(UserSubAddView, '/users/<int:id>/subscribe')
api.add_resource(UserSubView, '/users/<int:id>/subscribe/<int:sub_id>')
from server import api
from flask_restful import Resource
from flask_restful import reqparse

requestTotal = 0


class Normal(Resource):
    def get(self):
        global requestTotal
        requestTotal += 1
        print(requestTotal)
        return {"data": requestTotal}


api.add_resource(Normal, "/")
示例#6
0
from server import api, redis
from flask_restful import Resource, reqparse


class UserInfo(Resource):
    """获取用户信息
    """
    def __init__(self):
        self.parser = reqparse.RequestParser()
        self.parser.add_argument('token', type=str)

    def get(self):
        data = self.parser.parse_args()
        user_info = redis.get(data.get('token'))
        return {
            'code': 20000,
            'data': {
                'avatar': '...',
                'username': user_info.get('username'),
                'role': user_info.get('role'),
                'id': user_info.get('id')
            }
        }


api.add_resource(UserInfo, '/user/info')
示例#7
0
@login_manager.user_loader
def load_user(user_id):
    return User.query.get(int(user_id))


# Unauthorised handler
@login_manager.unauthorized_handler
def unauthorized():
    return jsonify(
        {'error': 'You must login first in order to access that route.'})


from apimodels import (Scan, ScanReport, UserReports, Authentication, Register,
                       StandardCheckpoints)
base_api_url = '/api/v1'
api.add_resource(Scan, f'{base_api_url}/scans')
api.add_resource(UserReports, f'{base_api_url}/user/<userid>/reports')
api.add_resource(ScanReport,
                 f'{base_api_url}/user/<userid>/reports/<reporthid>')
api.add_resource(Authentication, f'{base_api_url}/authenticate')
api.add_resource(Register, f'{base_api_url}/register')
api.add_resource(StandardCheckpoints, f'{base_api_url}/standard-checkpoints')


@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def home(path):
    return "Nothing to see here :) @j-000"


if __name__ == "__main__":
示例#8
0
from server import api, db
from server.models import User
from flask_restful import Resource, reqparse
from flask import g
from server.utils.encrytion import convert_to_md5


class ChangePass(Resource):

    # 更换密码
    def post(self):
        parse = reqparse.RequestParser()
        parse.add_argument('old_pass', type=str, required=True)
        parse.add_argument('new_pass', type=str, required=True)
        args = parse.parse_args()

        old_pass = convert_to_md5(args.old_pass)
        new_pass = convert_to_md5(args.new_pass)

        user_info = User.query.fileter_by(uid=g.uid).first()
        if old_pass != user_info.password:
            return {'code': 50008, 'message': '原密码不对'}

        user_info.password = new_pass
        db.session.commit()

        return {'code': 20000}


api.add_resource(ChangePass, '/user/repass')
示例#9
0
        if (g.user.role & 1) == 0:
            return make_response(jsonify({"error": "Not authorized"}), 403)

        user = User.query.filter_by(email=form.email.data).first()

        if user == None:
            return make_response(jsonify({"error": "user not found"}), 400)

        if form.rfidTagId.data != None and form.rfidTagId.data != "":
            print "Withdraw cardID " + form.rfidTagId.data + " from " + user.firstName + " " + user.lastName
            user.cardID = ""
            db.session.commit()
        return "", 201


api.add_resource(SessionView, "/sessions")
api.add_resource(UserView, "/user/<int:id>")
api.add_resource(UserListView, "/users")
api.add_resource(LogUserView, "/log/user")
api.add_resource(LogAdminView, "/log/admin")
api.add_resource(DoorView, "/door/<int:id>")
api.add_resource(DoorRegistrationView, "/door")
api.add_resource(DoorListView, "/doors")
api.add_resource(OpeningRequestView, "/request/opening")
api.add_resource(LostPasswordView, "/request/password")
api.add_resource(DoorInfoView, "/request/doorinfo")
api.add_resource(RfidTagInfoView, "/tag/info")
api.add_resource(RfidTagAssignView, "/tag/assign")
api.add_resource(RfidTagWitdrawView, "/tag/withdraw")
api.add_resource(RegisterUserView, "/register")
示例#10
0
文件: routes.py 项目: codeforgood/qq
__author__ = 'sravi'

from server import api
from views.views import *

api.add_resource(HelloWorld, '/now')
api.add_resource(HelloLater, '/later')
api.add_resource(ScheduledQueue, '/tasks')
api.add_resource(QueryTask, '/query')
示例#11
0
        if g.user.role != 1:
            if g.user.role != 2:
                return '', 401

        stats = Statistic.query.filter(Statistic.id == id).first()
        if stats is None:
            return '', 405

        statsEntries = StatisticEntry.query.filter(StatisticEntry.statId == stats.statId).all()
        if statsEntries is None:
            return '', 405

        return StatisticEntryListSerializer().dump(statsEntries, many=True).data


api.add_resource(SessionView, '/sessions')

api.add_resource(UserView, '/user/<int:id>')
api.add_resource(UserListView, '/users')
api.add_resource(AdminsListView, '/admins')

api.add_resource(LogUserView, '/actions/user')
api.add_resource(LogAdminView, '/actions/admin')
api.add_resource(LogDebugView, '/actions/debug')

api.add_resource(DoorView, '/door/<int:id>')
api.add_resource(DoorSyncView, '/door/<int:id>/sync')
api.add_resource(DoorRegistrationView, '/door')
api.add_resource(DoorListView, '/doors')

api.add_resource(StatisticsListView, '/statistics')
示例#12
0
from server.helpers.sessions import current_user
from server.helpers.emails import new_enrollment_email


class EnrollmentsAPI(Resource):
    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('number_players')
        super(EnrollmentsAPI, self).__init__()

    def post(self, team_id):
        if not current_user():
            return 'You need to be logged in', 403
        args = self.reqparse.parse_args()
        args['team_id'] = team_id
        try:
            enrollment = Enrollment(args)
            db.session.add(enrollment)
            db.session.commit()
        except Exception as e:
            return str(e), 400
        new_enrollment_email(team_id)
        return 'Enrolled successfully', 201


api.add_resource(
    EnrollmentsAPI,
    '/teams/<int:team_id>/enrollments',
    endpoint='enrollments'
    )
示例#13
0
                        continue
                    data1.append(eval(br.data))
                    j += 1
                if UserLocked.query.all() == []:
                    id=1
                else:
                    id = UserLocked.query.order_by(desc(UserLocked.id)).first().id + 1
                lock = LockView(id=id,uid=user.uid,year=year,month=month,data=str(year_sum(data1)))
                db.session.add(lock)
                db.session.commit()
                
         
            


api.add_resource(UserListView, '/api/v1/shareholder')
api.add_resource(UserView,'/api/v1/shareholder/<int:uid>')
api.add_resource(UserNameView, '/api/v1/holdername')
api.add_resource(LoginView, '/api/v1/login')
api.add_resource(RegView,'/api/v1/register')
api.add_resource(StoreListView,'/api/v1/stores')
api.add_resource(StoreView,'/api/v1/stores/<int:sid>')
api.add_resource(AccountListView,'/api/v1/accountbook')
api.add_resource(HeadAccountView,'/api/v1/headaccountbook/<int:year>/<int:month>')
api.add_resource(BranchAccountView,'/api/v1/branchaccountbook/<int:sid>/<int:year>/<int:month>')
api.add_resource(BranchYearView,'/api/v1/branchaccountbook/<int:sid>/<int:year>')
api.add_resource(HeadYearView,'/api/v1/headaccountbook/<int:year>')
api.add_resource(AccountAllView,'/api/v1/accountall/<int:year>')
api.add_resource(AccountHolderView,'/api/v1/accountbook/<int:uid>/<int:year>')
api.add_resource(LockView,'/api/v1/lock/<int:sid>/<int:year>/<int:month>')
示例#14
0
文件: users.py 项目: TY231618/pitchup
class UserAPI(Resource):
    def get(self, id):
        user = User.query.get(id)
        if not user:
            return 'User not found', 404
        return {'user': marshal(user, user_fields)}


class UsersAPI(Resource):
    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('username')
        self.reqparse.add_argument('email')
        self.reqparse.add_argument('password')
        super(UsersAPI, self).__init__()

    def post(self):
        args = self.reqparse.parse_args()
        try:
            user = User(args)
            db.session.add(user)
            db.session.commit()
            session['user_id'] = user.id
        except Exception as e:
            return str(e), 400
        return {'user_id': user.id, 'message': 'User created successfully'}, 201


api.add_resource(UserAPI, '/users/<int:id>', endpoint='user')
api.add_resource(UsersAPI, '/users', endpoint='users')
示例#15
0
class Supply(Resource):
    @stats.rest
    def get(self):
        data = General().supply()
        return utils.response(data)


class SupplyPlain(Resource):
    @stats.rest
    def get(self):
        data = int(utils.amount(General().supply()['supply']))
        return Response(str(data), mimetype='text/plain')


api.add_resource(GetInfo, '/info')
api.add_resource(BlockByHeight, '/height/<int:height>')
api.add_resource(HashByHeight, '/hash/<int:height>')
api.add_resource(BlockByHash, '/block/<string:bhash>')
api.add_resource(BlockHeader, '/header/<string:bhash>')
api.add_resource(BlocksByRange, '/range/<int:height>')
api.add_resource(AddressBalance, '/balance/<string:address>')
api.add_resource(AddressMempool, '/mempool/<string:address>')
api.add_resource(AddressUnspent, '/unspent/<string:address>')
api.add_resource(AddressHistory, '/history/<string:address>')
api.add_resource(TransactionInfo, '/transaction/<string:thash>')
api.add_resource(DecodeRawTx, '/decode/<string:raw>')
api.add_resource(MempoolInfo, '/mempool')
api.add_resource(SupplyPlain, '/supply/plain')
api.add_resource(Supply, '/supply')
api.add_resource(EstimateFee, '/fee')
示例#16
0
from server import (app, api)
from views import (UrlShorter, UrlRedirect)

# NGINX will only route traffic to the backend
# that starts with /B or has any ?query=value,
# even though the route below catched anything after /.
api.add_resource(UrlShorter, '/')

# This is the route that catched /B<anything>
api.add_resource(UrlRedirect, '/<identifier>')

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
from server import api
from server.resources.student_list import StudentList
from server.resources.teacher_list import TeacherList
from server.resources.course_list import CourseList
from server.resources.course import Course
from server.resources.login import Login
from server.resources.quiz_list import QuizList
from server.resources.quiz import Quiz

api.add_resource(StudentList, "/students/")
api.add_resource(TeacherList, "/teachers/")
api.add_resource(CourseList, "/courses/")
api.add_resource(Course, "/courses/<int:course_id>")
api.add_resource(Login, "/login/")
api.add_resource(QuizList, "/quiz/<int:course_id>")
api.add_resource(Quiz, "/quiz/<int:course_id>/<int:question_no>")
示例#18
0
from server import api
from server.resources import GetFile, PostFile, ProjectResource, TextflowResource, Random


api.add_resource(GetFile, "/api/file/get/<int:file_id>")
api.add_resource(PostFile, "/api/file/upload/<int:project_id>")
api.add_resource(ProjectResource, "/api/project/<int:project_id>")
api.add_resource(TextflowResource, "/api/text_flow/<int:id>")
api.add_resource(Random, "/api/random")




示例#19
0
                return '', 401

        stats = Statistic.query.filter(Statistic.id == id).first()
        if stats is None:
            return '', 405

        statsEntries = StatisticEntry.query.filter(
            StatisticEntry.statId == stats.statId).all()
        if statsEntries is None:
            return '', 405

        return StatisticEntryListSerializer().dump(statsEntries,
                                                   many=True).data


api.add_resource(SessionView, '/sessions')

api.add_resource(UserView, '/user/<int:id>')
api.add_resource(UserListView, '/users')
api.add_resource(AdminsListView, '/admins')

api.add_resource(LogUserView, '/actions/user')
api.add_resource(LogAdminView, '/actions/admin')
api.add_resource(LogDebugView, '/actions/debug')

api.add_resource(DoorView, '/door/<int:id>')
api.add_resource(DoorSyncView, '/door/<int:id>/sync')
api.add_resource(DoorRegistrationView, '/door')
api.add_resource(DoorListView, '/doors')

api.add_resource(StatisticsListView, '/statistics')
示例#20
0
            'fromEmailKey': '',
            'toEmail': ''
        }
        """
        data = request.get_json(force = True)
        # 先判断该用户设置是否存在
        check = MailConfig.query.filter_by(ownerId = g.userId).first()
        if check:
            check.fromName = data.get('fromName')
            check.toName = data.get('toName')
            check.fromEmail = data.get('fromEmail')
            check.fromEmailKey = data.get('fromEmailKey')
            check.toEmail = data.get('toEmail')
        else:
            config = MailConfig(
                fromName = data.get('fromName'),
                toName = data.get('toName'),
                fromEmail = data.get('fromEmail'),
                fromEmailKey = data.get('fromEmailKey'),
                toEmail = data.get('toEmail'),
                ownerId = g.userId
            )
            db.session.add(config)
        db.session.commit()
        return {
            'code': 20000
        }


api.add_resource(MailConfigClass, '/mailconfig')
示例#21
0
            password,
            str(time.time())
        ))

        # 将信息写入redis
        redis.set(token,
                  {
                      'uid':      user_info_check.uid,
                      'username': user_info_check.username
                  })

        return {
            'code': 20000,
            'data': {
                'token': token
            }
        }


class Logout(Resource):

    def post(self):
        redis.delete(g.token)
        return {
            'code': 20000
        }


api.add_resource(Login, '/user/login')
api.add_resource(Logout, '/user/logout')
示例#22
0
        self.current_time = datetime.datetime.now().strftime('%Y-%m-%d')

    def option(self):
        return {'code': 20000}

    def get(self):
        advice = Other.query.filter_by(ownerId=g.userId,
                                       time=str(self.current_time)).first()
        if advice:
            data = advice.advice
        else:
            data = ''
        return {'code': 20000, 'data': data}

    def post(self):
        data = request.get_json(force=True)
        advice = data.get('advice')
        check_advice = Other.query.filter_by(ownerId=g.userId,
                                             time=str(
                                                 self.current_time)).first()
        if check_advice:
            check_advice.advice = advice
        else:
            new_advice = Other(advice=advice, ownerId=g.userId)
            db.session.add(new_advice)
        db.session.commit()
        return {'code': 20000}


api.add_resource(Advice, '/advice')
示例#23
0
文件: teams.py 项目: TY231618/pitchup
class TeamsAPI(Resource):
    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('name')
        self.reqparse.add_argument('capacity')
        self.reqparse.add_argument('number_players')
        self.reqparse.add_argument('pitch_postcode')
        self.reqparse.add_argument('time')
        super(TeamsAPI, self).__init__()

    def get(self):
        teams = Team.query.filter(Team.number_players < Team.capacity, Team.time > datetime.now()).order_by(Team.time)
        return {'teams': [marshal(team, team_fields) for team in teams]}

    def post(self):
        if not current_user():
            return 'You need to be logged in', 403
        args = self.reqparse.parse_args()
        try:
            team = Team(args)
            db.session.add(team)
            db.session.commit()
        except Exception as e:
            return str(e), 400
        return 'Team created successfully', 201


api.add_resource(TeamAPI, '/teams/<int:id>', endpoint='team')
api.add_resource(TeamsAPI, '/teams', endpoint='teams')
示例#24
0
# -*- coding: utf-8 -*-
from server import api
from server.resources import EngineResource, EnginesResource, TaskResource

api.add_resource(EngineResource, '/engines/<engine_id>')

api.add_resource(EnginesResource, '/engines/')

api.add_resource(TaskResource, '/tasks/<task_id>')
示例#25
0
        }

        return response


class SurveyView(restful.Resource):
    def post(self):
        args = parser.parse_args()
        response = {}
        survey = Survey(args['code'], args['proficiency'], args['experience'],
                        args['education'], args['interrupted'])
        db.session.add(survey)
        db.session.commit()
        response['error'] = False
        response['survey'] = {
            'code': survey.code,
            'proficiency': survey.proficiency,
            'experience': survey.experience,
            'education': survey.education,
            'interrupted': survey.interrupted
        }

        return response


api.add_resource(AccessView, '/api/v1/access')
api.add_resource(RefreshersView, '/api/v1/refreshers')
api.add_resource(ActivityView, '/api/v1/activities')
api.add_resource(TrialView, '/api/v1/trials')
api.add_resource(SurveyView, '/api/v1/surveys')
示例#26
0
            args = self.reqparse.parse_args()
            user.wish = args['wish']
            db.session.commit()
            return user_wish_serializers(id, user.wish)
        else:
            return error_serializers('User not found!', 404), 404


class TagsView(Resource):

    def get(self):

      # industry_tags = Tag.query.filter_by(parent_id=1).all()
      # result['industry'] = tags_schema.dump(industry_tags).data
      #
      # company_tags = Tag.query.filter_by(parent_id=2).all()
      # result['company'] = tags_schema.dump(company_tags).data
      #
      # title_tags = Tag.query.filter_by(parent_id=3).all()
      # result['title'] = tags_schema.dump(title_tags).data

      return {"industry": [{"name":"Internet"}, {"name":"Design"}, {"name":"Medical"}, {"name":"Oil"}],
              "company":[{"name":"LinkedIn"}, {"name":"Google"}, {"name":"Apple"}],
              "title":[{"name":"Designer"}, {"name":"Software Engineer"}, {"name":"Software Engineer Internship"}]
          }


api.add_resource(UserAddView, '/users')
api.add_resource(UserView, '/users/<int:id>')
api.add_resource(UserWishView, '/users/<int:id>/wish')
api.add_resource(TagsView, '/tags')
示例#27
0
文件: app.py 项目: j-000/ezresbackend
from server import app, api
from apimodels import (
  UserResource,
  Authentication
)

api.add_resource(UserResource, '/api/user')
api.add_resource(Authentication, '/api/auth')


@app.route('/')
def home():
  return 'go to /api'


if __name__ == '__main__':
  app.run(debug=True)
示例#28
0
    def delete(self, taskid):
        target_task = Task.query.filter_by(id=taskid).first()
        mult_tasks = Task.query.filter_by(
            title=target_task.title, from_user_id=target_task.ownerId).all()
        for task in mult_tasks:
            db.session.delete(task)
        db.session.commit()
        return {'code': 20000}

    def post(self, taskid):
        """修改任务

        data: {
            'id': 1,
            'title': 'xxx',
            'status': True
        }
        """
        data = request.get_json(force=True)
        target_task = Task.query.filter_by(id=taskid).first()
        mult_tasks = Task.query.filter_by(
            title=target_task.title, from_user_id=target_task.ownerId).all()
        for task in mult_tasks:
            task.title = data.get('title')
            task.status = data.get('status')
        db.session.commit()
        return {'code': 20000}


api.add_resource(OptionOneTask, '/task/<int:taskid>')
示例#29
0
		if asesi is not None:
			asesi.nama = request.form['nama']
			db.session.commit()
			return jsonify(response=201)
		else:
			return jsonify(response=204)

	def delete(self,id_asesi):
		asesi = Asesi.query.filter_by(id=request.form['id']).first()
		if asesi is not None:
			db.session.delete(asesi)
			db.session.commit()
			return jsonify(response=202)
		else:
			return jsonify(response=204)

class AsesiServiceList(Resource):
	def get(self):
		return jsonify(list_asesi = [dict(id=asesi.id,nama=asesi.nama) for asesi in Asesi.query.all()])

	def post(self):
		try:
			a = Asesi(id=request.form['id'],nama=request.form['nama'])
			db.session.add(a)
			db.session.commit()
			return jsonify(response=201)
		except Exception as e:
			return jsonify(response=304,error=e)
			
api.add_resource(AsesiService,'/asesi/<id_asesi>')
api.add_resource(AsesiServiceList,'/asesi/')
示例#30
0
def create_services():
    # Generator
    api.add_resource(AdfPackage, "/gen/adf-package")
    api.add_resource(BxPackage, "/gen/bx-package")
    api.add_resource(CreatePackageData, "/gen/package-data")
    api.add_resource(LoadCommand, "/gen/load-command")
    api.add_resource(Tcd, "/gen/tcd")
    api.add_resource(TcdField, "/gen/tcd-field")

    # Substitute
    api.add_resource(Substitute, "/sub/text")
    api.add_resource(Case, "/sub/case")

    # Formatter
    api.add_resource(Format_Table, "/fmt/table")
    api.add_resource(Format_Pivot, "/fmt/pivot")

    # Templater
    api.add_resource(CreateTemplate_Basic, "/templater/create-basic")
    api.add_resource(ApplyTemplate_Basic, "/templater/apply-basic")

    # Builder
    api.add_resource(Generate, "/builder/generate")
示例#31
0
class FileUpload(restful.Resource):
    def post(self):
        file = request.files['file']
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            import time
            prename = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
            filename=prename+filename
            file.save(os.path.join(file_path, filename))
            return jsonify(filename=filename)

    def get(self):
        uploads = Upload.query.all()
        return jsonify()

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1] in file_type


        


api.add_resource(UserView, '/api/v1/users')
api.add_resource(SessionView, '/api/v1/sessions')
api.add_resource(PostListView, '/api/v1/posts')
api.add_resource(PostView, '/api/v1/posts/<int:id>')
api.add_resource(FileUpload, '/api/v1/upload')


示例#32
0
    # @jwt_required
    # def delete(self, id):
    #     user = User.from_secret(get_jwt_identity())
    #     if not user:
    #         return {"msg": "Token has expired"}, 401
    #     # user.reset_client_secret()
    #     pprint(get_raw_jwt())
    #     new_token = user.generate_access_token()
    #     return {
    #         "message": "Client secret reset, all access and refresh tokens invalidated",
    #         "access_token": new_token,
    #     }, 200
    #


api.add_resource(ShipListAPI, '/api/ships', endpoint='ships_api')
api.add_resource(ShipAPI, '/api/ships/<int:id>', endpoint='ship_api')
api.add_resource(EngineListAPI, '/api/engines', endpoint='engines_api')
api.add_resource(EngineAPI, '/api/engines/<int:id>', endpoint='engine_api')
api.add_resource(BuilderListAPI, '/api/builders', endpoint='builders_api')
api.add_resource(BuilderAPI, '/api/builders/<int:id>', endpoint='builder_api')
api.add_resource(ShipTypeListAPI, '/api/ship_types', endpoint='ship_types_api')
api.add_resource(ShipTypeAPI,
                 '/api/ship_types/<int:id>',
                 endpoint='ship_type_api')
api.add_resource(ShipStatusListAPI,
                 '/api/ship_statuses',
                 endpoint='ship_statuses_api')
api.add_resource(ShipStatusAPI,
                 '/api/ship_statuses/<int:id>',
                 endpoint='ship_status_api')
示例#33
0
from flask import request
from flask_restful import Resource
import requests
from random import randrange


def ask_processing(to_process):
    """ changes capitalization of letters at random """
    to_output = ""

    for letter in to_process:
        if randrange(0, 2) is 1:
            to_output += letter.capitalize()
        else:
            to_output += letter

    return to_output


class GetQuote(Resource):
    def post(self):
        user_input = request.get_json()
        response = ask_processing(user_input["user_input"])
        return response


api.add_resource(GetQuote, "/getquote/")

if __name__ == "__main__":
    app.run(port=5001, debug=True)
示例#34
0
        """新增任务

        data: {
            'user_list': [
                {
                    'id': 1,
                    'username': '******'
                }
            ]
            'title': 'xxx',
        }
        """
        data = request.get_json(force=True)
        user_list = data.get('user_list')
        for user in user_list:
            new_task = Task(title=data.get('title'),
                            ownerId=user.get('id'),
                            from_user_id=g.userId)
            db.session.add(new_task)
        db.session.commit()
        target_task = Task.query.filter_by(title=data.get('title'),
                                           ownerId=g.userId).first()
        return {
            'code': 20000,
            # 返回新增任务的id
            'data': target_task.id
        }


api.add_resource(OptionTask, '/task')
示例#35
0
from server import db, api
from flask import Blueprint, request, jsonify, make_response
from flask.ext.restful import Resource, Api, abort


class KropotkinEndpoint(Resource):
  def get(self):
    query="SELECT paragraph FROM kropotkin OFFSET floor(random()*(select count(*) from kropotkin)) LIMIT 1;"
    result = db.engine.execute(query)
    for row in result:
      response = jsonify({"paragraph": row[0]})
      response.status_code = 200
      return response
    return 400

api.add_resource(KropotkinEndpoint, '/api/kropotkin', endpoint = 'kropotkin')

示例#36
0
        self.reqparse.add_argument('username')
        self.reqparse.add_argument('password')
        super(SessionsAPI, self).__init__()

    def get(self):
        if 'user_id' in session:
            return {'user': marshal(current_user(), user_fields)}
        return 'No session set', 200

    def post(self):
        args = self.reqparse.parse_args()
        user = User.query.filter_by(username=args['username']).first()
        session.clear()
        if user:
            if User.verify_password(user, args['password']):
                session['user_id'] = user.id
                return {
                    'user_id': user.id,
                    'message': 'Logged in successfully'
                }, 201
        return 'Invalid username or password', 400

    def delete(self):
        if 'user_id' in session:
            session.clear()
            return 'Logged out successfully', 200
        return 'You are not logged in', 400


api.add_resource(SessionsAPI, '/sessions', endpoint='sessions')
示例#37
0
from server import db, api
from flask import Blueprint, request, jsonify, make_response
from flask.ext.restful import Resource, Api, abort


class KropotkinEndpoint(Resource):
    def get(self):
        query = "SELECT paragraph FROM kropotkin OFFSET floor(random()*(select count(*) from kropotkin)) LIMIT 1;"
        result = db.engine.execute(query)
        for row in result:
            response = jsonify({"paragraph": row[0]})
            response.status_code = 200
            return response
        return 400


api.add_resource(KropotkinEndpoint, '/api/kropotkin', endpoint='kropotkin')
示例#38
0
class TrialView(restful.Resource):
	def post(self):
		args = parser.parse_args()
		response = {}
		trial = Trials(args['code'], args['snippet_id'], args['time'], args['is_correct'])
		db.session.add(trial)
		db.session.commit()
		response['error'] = False
		response['attempt'] = {'code':trial.access_code, 'snippet_id':trial.snippet_id, 'time':trial.time_elapsed, 'is_correct':trial.is_correct}
    
		return response
	
class SurveyView(restful.Resource):
	def post(self):
		args = parser.parse_args()
		response = {}
		survey = Survey(args['code'], args['proficiency'], args['experience'], args['education'], args['interrupted'])
		db.session.add(survey)
		db.session.commit()
		response['error'] = False
		response['survey'] = {'code': survey.code, 'proficiency':survey.proficiency, 'experience':survey.experience, 'education':survey.education, 'interrupted':survey.interrupted}
	
		return response

api.add_resource(AccessView, '/api/v1/access')
api.add_resource(RefreshersView, '/api/v1/refreshers')
api.add_resource(ActivityView, '/api/v1/activities')
api.add_resource(TrialView, '/api/v1/trials')
api.add_resource(SurveyView, '/api/v1/surveys')
示例#39
0
    except ValidationError as err:
      resp = jsonify({"error": err.messages})
      resp.status_code = 403
      return resp

    except SQLAlchemyError as e:
      db.session.rollback()
      resp = jsonify({"error": str(e)})
      resp.status_code = 403
      return resp

#shareable_blueprint = Blueprint('shareable_print',__name__, url_prefix='/api/shareables')
#api = Api(shareable_blueprint)
#api.add_resource(ShareableListEndpoint, '')
api.add_resource(ShareableListEndpoint, '/api/shareables', endpoint = 'shareables')
api.add_resource(ShareableEndpoint, '/api/shareable/<int:id>', endpoint = 'shareable')
api.add_resource(ShareableCategorizationEndpoint, '/api/shareables/categorization', endpoint = 'categorization')
api.add_resource(ShareableSearchEndpoint, '/api/shareables/search', endpoint = 'search')

'''
from flask import Flask, Blueprint
from flask.ext import restful

class HelloWorld(restful.Resource):
    def get(self):
        return {'hello': 'world'}

blueprint = Blueprint('my_blueprint', __name__)

api = restful.Api(blueprint, prefix="/blueprint")
class OptionOneTomorrowTask(Resource):
    """对单个任务进行删除和修改
    """
    def option(self):
        return {'code': 20000}

    def delete(self, taskid):
        target_task = Task.query.filter_by(id=taskid).first()
        db.session.delete(target_task)
        db.session.commit()
        return {'code': 20000}

    def post(self, taskid):
        """修改任务

        data: {
            'id': 1,
            'title': 'xxx',
            'status': True
        }
        """
        data = request.get_json(force=True)
        new_task = Task.query.filter_by(id=taskid).first()
        new_task.title = data.get('title')
        new_task.status = data.get('status')
        db.session.commit()
        return {'code': 20000}


api.add_resource(OptionOneTomorrowTask, '/tomorrowtask/<int:taskid>')
示例#41
0
import os

import json
import pytest

os.environ['TEST'] = '1'
if os.path.exists('test.db'):
    os.remove('test.db')

from server.api import *
from server.models import *
from server.main import app, db, api

api.add_resource(LoginEndpoint, '/login')
api.add_resource(RegisterEndpoint, '/register')
api.add_resource(UsersEndpoint, '/users')
api.add_resource(UserEndpoint, '/users/<user_id>')
api.add_resource(CurrentUserEndpoint, '/current-user')
api.add_resource(UserWorkEntriesEndpoint, '/work-entries/<user_id>')
api.add_resource(WorkEntryEndpoint, '/work-entries/<work_entry_id>')


@pytest.fixture(autouse=True)
def tear_up_down_db():
    db.create_all()

    yield

    db.drop_all()

def init_routes():
    api.add_resource(TestResource, "/api/test")
    api.add_resource(HostResource, "/api/host")
示例#43
0
from server import api
from flask_restful import Resource
from server.models import User


class UserList(Resource):

    def option(self):
        return {
            'code': 20000
        }

    def get(self):
        user_list = User.query.all()
        return {
            'code': 20000,
            'data': [
                {
                    'id':       item.id,
                    'username': item.username
                }
                for item in user_list
            ]
        }


api.add_resource(UserList, '/user/list')
示例#44
0
class SessionsAPI(Resource):
    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('username')
        self.reqparse.add_argument('password')
        super(SessionsAPI, self).__init__()

    def get(self):
        if 'user_id' in session:
            return {'user': marshal(current_user(), user_fields)}
        return 'No session set', 200

    def post(self):
        args = self.reqparse.parse_args()
        user = User.query.filter_by(username=args['username']).first()
        session.clear()
        if user:
            if User.verify_password(user, args['password']):
                session['user_id'] = user.id
                return {'user_id': user.id, 'message': 'Logged in successfully'}, 201
        return 'Invalid username or password', 400

    def delete(self):
        if 'user_id' in session:
            session.clear()
            return 'Logged out successfully', 200
        return 'You are not logged in', 400

api.add_resource(SessionsAPI, '/sessions', endpoint='sessions')