Accept / reject comments via API
This commit is contained in:
parent
c149a44d6d
commit
4b71710dc8
2 changed files with 76 additions and 1 deletions
|
@ -109,8 +109,50 @@ def report():
|
||||||
|
|
||||||
processor.enqueue({'request': 'report', 'data': token})
|
processor.enqueue({'request': 'report', 'data': token})
|
||||||
|
|
||||||
|
|
||||||
except:
|
except:
|
||||||
logger.exception("report failure")
|
logger.exception("report failure")
|
||||||
abort(500)
|
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'])
|
unsubscribe_reader(msg['data'])
|
||||||
elif msg['request'] == 'report':
|
elif msg['request'] == 'report':
|
||||||
report(msg['data'])
|
report(msg['data'])
|
||||||
|
elif msg['request'] == 'late_accept':
|
||||||
|
late_accept_comment(msg['data'])
|
||||||
|
elif msg['request'] == 'late_reject':
|
||||||
|
late_reject_comment(msg['data'])
|
||||||
else:
|
else:
|
||||||
logger.info("throw unknown request " + str(msg))
|
logger.info("throw unknown request " + str(msg))
|
||||||
except:
|
except:
|
||||||
|
@ -160,6 +164,35 @@ def reply_comment_email(data):
|
||||||
comment.site.token, comment.site.url, comment.url)
|
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):
|
def get_email_metadata(message):
|
||||||
# retrieve metadata reader email from email body sent by admin
|
# retrieve metadata reader email from email body sent by admin
|
||||||
email = ""
|
email = ""
|
||||||
|
|
Loading…
Add table
Reference in a new issue