Accept / reject comments via API
This commit is contained in:
parent
917ddf26ba
commit
f7093cb029
2 changed files with 76 additions and 1 deletions
|
@ -109,8 +109,50 @@ def report():
|
|||
|
||||
processor.enqueue({'request': 'report', 'data': token})
|
||||
|
||||
|
||||
except:
|
||||
logger.exception("report failure")
|
||||
abort(500)
|
||||
|
||||
return "OK"
|
||||
return "OK"
|
||||
|
||||
|
||||
@app.route("/accept", methods=['GET'])
|
||||
def accept_comment():
|
||||
|
||||
try:
|
||||
id = request.args.get('id', '')
|
||||
secret = request.args.get('secret', '')
|
||||
|
||||
if secret != config.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('id', '')
|
||||
secret = request.args.get('secret', '')
|
||||
|
||||
if secret != config.SECRET:
|
||||
logger.warn('Unauthorized request')
|
||||
abort(401)
|
||||
|
||||
processor.enqueue({'request': 'late_reject', 'data': id})
|
||||
|
||||
except:
|
||||
logger.exception("reject failure")
|
||||
abort(500)
|
||||
|
||||
return "REJECTED"
|
||||
|
||||
|
|
|
@ -42,6 +42,10 @@ class Processor(Thread):
|
|||
unsubscribe_reader(msg['data'])
|
||||
elif msg['request'] == 'report':
|
||||
report(msg['data'])
|
||||
elif msg['request'] == 'late_accept':
|
||||
late_accept_comment(msg['data'])
|
||||
elif msg['request'] == 'late_reject':
|
||||
late_reject_comment(msg['data'])
|
||||
else:
|
||||
logger.info("throw unknown request " + str(msg))
|
||||
except:
|
||||
|
@ -160,6 +164,35 @@ def reply_comment_email(data):
|
|||
comment.site.token, comment.site.url, comment.url)
|
||||
|
||||
|
||||
def late_reject_comment(id):
|
||||
|
||||
# retrieve site and comment rows
|
||||
comment = Comment.select().where(Comment.id == id).get()
|
||||
|
||||
# report event
|
||||
report_rejected(comment)
|
||||
|
||||
# delete Comment row
|
||||
comment.delete_instance()
|
||||
|
||||
logger.info('late reject comment: %d' % id)
|
||||
|
||||
|
||||
def late_accept_comment(id):
|
||||
|
||||
# retrieve site and comment rows
|
||||
comment = Comment.select().where(Comment.id == id).get()
|
||||
|
||||
# report event
|
||||
report_published(comment)
|
||||
|
||||
# update Comment row
|
||||
comment.published = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
comment.save()
|
||||
|
||||
logger.info('late accept comment: %d' % id)
|
||||
|
||||
|
||||
def get_email_metadata(message):
|
||||
# retrieve metadata reader email from email body sent by admin
|
||||
email = ""
|
||||
|
|
Loading…
Add table
Reference in a new issue