78 lines
1.8 KiB
Python
78 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import logging
|
|
from conf import config
|
|
from flask import request, jsonify, abort
|
|
from core import app
|
|
from models.site import Site
|
|
from models.comment import Comment
|
|
from helpers.hashing import md5
|
|
from core import processor
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
@app.route("/report", methods=['GET'])
|
|
def report():
|
|
|
|
try:
|
|
token = request.args.get('token', '')
|
|
secret = request.args.get('secret', '')
|
|
|
|
if secret != config.security['secret']:
|
|
logger.warn('Unauthorized request')
|
|
abort(401)
|
|
|
|
site = Site.select().where(Site.token == token).get()
|
|
if site is None:
|
|
logger.warn('Unknown site %s' % token)
|
|
abort(404)
|
|
|
|
processor.enqueue({'request': 'report', 'data': token})
|
|
|
|
|
|
except:
|
|
logger.exception("report failure")
|
|
abort(500)
|
|
|
|
return "OK"
|
|
|
|
|
|
@app.route("/accept", methods=['GET'])
|
|
def accept_comment():
|
|
|
|
try:
|
|
id = request.args.get('comment', '')
|
|
secret = request.args.get('secret', '')
|
|
|
|
if secret != config.security['secret']:
|
|
logger.warn('Unauthorized request')
|
|
abort(401)
|
|
|
|
processor.enqueue({'request': 'late_accept', 'data': id})
|
|
|
|
except:
|
|
logger.exception("accept failure")
|
|
abort(500)
|
|
|
|
return "PUBLISHED"
|
|
|
|
|
|
@app.route("/reject", methods=['GET'])
|
|
def reject_comment():
|
|
|
|
try:
|
|
id = request.args.get('comment', '')
|
|
secret = request.args.get('secret', '')
|
|
|
|
if secret != config.security['secret']:
|
|
logger.warn('Unauthorized request')
|
|
abort(401)
|
|
|
|
processor.enqueue({'request': 'late_reject', 'data': id})
|
|
|
|
except:
|
|
logger.exception("reject failure")
|
|
abort(500)
|
|
|
|
return "REJECTED"
|