Betterzon/Crawler/api.py
Patrick Müller 63cbac5490 BETTERZON-58: Fixing API endpoint of the crawler
- The list of products in the API request was treated like a string and henceforth, only the first product has been crawled
2021-05-17 17:53:20 +02:00

36 lines
822 B
Python

import os
from flask import Flask
from flask_restful import Resource, Api, reqparse
import crawler
app = Flask(__name__)
api = Api(app)
# To parse request data
parser = reqparse.RequestParser()
parser.add_argument('key', type=str)
parser.add_argument('products', type=int, action='append')
class CrawlerApi(Resource):
def get(self):
return {'Hallo': 'Betterzon'}
def post(self):
# Accept crawler request here
args = parser.parse_args()
access_key = os.getenv('CRAWLER_ACCESS_KEY')
if(args['key'] == access_key):
crawler.crawl(args['products'])
return {'message': 'success'}
else:
return {'message': 'Wrong access key'}
api.add_resource(CrawlerApi, '/')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=22026)