Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask_restful import Resource
- from flask_restful import wraps
- from flask_restful import abort
- from flask_restful import reqparse
- from flask import Flask, request
- import json
- from common.LabelDB import Label
- from common.LabelDBMongo import LabelMongo
- def check_auth(username, password):
- #TODO implement real authentication
- return username == 'rene' and password == '12345'
- def authenticate(func):
- @wraps(func)
- def wrapper(*args, **kwargs):
- auth = request.authorization
- if not auth or not check_auth(auth.username, auth.password):
- abort(401)
- return func(*args, **kwargs)
- return wrapper
- class Labels(Resource):
- method_decorators = [authenticate]
- def put(self):
- if request.json is None:
- abort(404)
- labels = request.json['labels']
- if labels is None:
- abort(404)
- for label in labels:
- #TODO add labels to db
- #TODO verify if the label is well formatted
- print label
- class Label(Resource):
- method_decorators = [authenticate]
- def __init__(self):
- self.db = LabelMongo()
- self.reqparse = reqparse.RequestParser()
- self.reqparse.add_argument('name', type = str, location = 'json')
- self.reqparse.add_argument('user', type = str, location = 'json')
- self.reqparse.add_argument('offset', type = str, location = 'json')
- self.reqparse.add_argument('binary', type = str, location = 'json')
- super(Label, self).__init__()
- def get(self):
- offset = request.args.get('offset')
- user = request.args.get('user')
- binary = request.args.get('binary')
- if offset == None:
- lbl = self.db.get_labels(binary=binary, user=user)
- else:
- lbl = self.db.get_label(offset=offset, binary=binary, user=user)
- return lbl
- def post(self):
- offset = request.args.get('offset')
- user = request.args.get('user')
- binary = request.args.get('binary')
- name = request.args.get('name')
- self.db.add_label(offset=offset,user=user,binary=binary,name=name)
- def delete(self):
- offset = request.args.get('offset')
- binary = request.args.get('binary')
- user = request.args.get('user')
- self.db.del_label(user=user,binary=binary,offset=offset)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement