From 692b90d7d98387407ced8f7ffd514bc2bd92480a Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Sat, 16 May 2015 10:59:44 +0200 Subject: [PATCH] Connect Stacosys to SRMail --- app/controllers/mail.py | 25 +++++++++++++++++++++++++ app/run.py | 1 + app/services/processor.py | 2 +- config.py | 2 ++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 app/controllers/mail.py diff --git a/app/controllers/mail.py b/app/controllers/mail.py new file mode 100644 index 0000000..51bbda5 --- /dev/null +++ b/app/controllers/mail.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import logging +from flask import request, jsonify, abort +from app import app +from app.services import processor + +logger = logging.getLogger(__name__) + + +@app.route("/inbox", methods=['POST']) +def new_mail(): + + try: + data = request.get_json() + logger.info(data) + + processor.enqueue({'request': 'new_mail', 'data': data}) + + except: + logger.exception("new mail failure") + abort(400) + + return "OK" diff --git a/app/run.py b/app/run.py index c513b6d..21652ea 100644 --- a/app/run.py +++ b/app/run.py @@ -20,6 +20,7 @@ import config from app.services import database from app.services import processor from app.controllers import api +from app.controllers import mail from app import app # configure logging diff --git a/app/services/processor.py b/app/services/processor.py index 5d0fbf9..a46bb78 100644 --- a/app/services/processor.py +++ b/app/services/processor.py @@ -36,7 +36,7 @@ class Processor(Thread): #elif req['type'] == 'unsubscribe': # unsubscribe_reader(req['email'], req['article']) else: - logger.info("Dequeue unknown request " + msg) + logger.info("Dequeue unknown request " + str(msg)) def new_comment(data): diff --git a/config.py b/config.py index 8fef52b..0aab685 100644 --- a/config.py +++ b/config.py @@ -7,6 +7,8 @@ LANG = "en" #DB_URL = "mysql://stacosys_user:stacosys_password@localhost:3306/stacosys" DB_URL = "sqlite:///db.sqlite" +MAIL_URL = "http://localhost:8025" + HTTP_ADDRESS = "0.0.0.0" HTTP_PORT = 8000