mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2024-12-23 04:05:12 +00:00
Patrick Müller
63cbac5490
- The list of products in the API request was treated like a string and henceforth, only the first product has been crawled
36 lines
822 B
Python
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)
|