spam-filter/src/main.py
2020-10-14 14:33:50 +01:00

54 lines
1.3 KiB
Python

#!/usr/bin/env python
import sys, json
sys.path.append('/home/spam-filter/')
from threading import Thread
from tweets.tweetFilter import tweetFilter
from utils.jsonLogger import setup_logging, log
from flask import Flask, request
from probes.probes import runFlaskProbes
app = Flask(__name__)
filter = tweetFilter()
@app.route('/predict', methods=['GET'])
def tweetPredict():
tweet = request.args.get('tweet')
log("Receiving Tweet to classify [{}]".format(tweet), 'INFO')
result = filter.tweetFilterPredit(tweet)
log("Returning classification result", 'INFO')
return json.dumps({'result': result, 'tweet': tweet}), 200, {'ContentType':'application/json'}
@app.route('/predictProbeTest', methods=['GET'])
def predictProbeTest():
return json.dumps({'result': 'spam', 'tweet': 'Fake Test Tweet'}), 200, {'ContentType':'application/json'}
def callTweetFilter():
filter.tweetFilterTrain()
app.run(port=9090, host="0.0.0.0")
# def callNewsFilter():
# newsFilter()
def callProbes():
runFlaskProbes()
if __name__ == '__main__':
setup_logging()
log("Starting Spam Filter...", 'INFO')
sys.stdout.flush()
Thread(target=callProbes).start()
Thread(target=callTweetFilter).start()
# Thread(target=callNewsFilter).start()