46 lines
No EOL
1.5 KiB
Python
46 lines
No EOL
1.5 KiB
Python
import os
|
|
import sys
|
|
|
|
from flask import Flask, request
|
|
from contextlib import closing
|
|
from urllib.request import urlopen
|
|
import json
|
|
from config import *
|
|
|
|
app = Flask(__name__)
|
|
|
|
@app.route('/config')
|
|
def config(): # put application's code here
|
|
return str(cf.INDENT)+str(cf.WEATHER)+str(cf.WINDDIRS)
|
|
|
|
@app.route('/')
|
|
def hello_world(): # put application's code here
|
|
return 'Hello World!'
|
|
|
|
#TODO Recherche d'une ville
|
|
@app.route('/searchCity', methods = ['POST', 'GET'])
|
|
def searchCity(): # put application's code here
|
|
if request.method == 'POST':
|
|
city = request.form['search']
|
|
else:
|
|
city = request.args.get('search')
|
|
with closing(urlopen(API_LOCATION_CITIES + API_TOKEN + METEOCONCEPT_TOKEN + API_SEARCH + city)) as f:
|
|
cities = json.loads(f.read())['cities']
|
|
return json.dumps(cities, indent=INDENT, sort_keys=True)
|
|
|
|
|
|
#TODO Informations sur la Ville
|
|
|
|
#TODO Information sur la ville et Ephéméride
|
|
|
|
if __name__ == '__main__':
|
|
PORT = int(os.environ.get('PORT', 33507))
|
|
# On Linux or MAC 'export METEOCONCEPT_TOKEN=...' (check shell echo $METEOCONCEPT_TOKEN)
|
|
# On Windows 'set METEOCONCEPT_TOKEN=...' (check on Powershell echo $Env:METEOCONCEPT_TOKEN)
|
|
METEOCONCEPT_TOKEN = int(os.environ.get('METEOCONCEPT_TOKEN', -1))
|
|
if METEOCONCEPT_TOKEN == -1:
|
|
print('Env variable METEOCONCEPT_TOKEN not passed')
|
|
sys.exit(0)
|
|
else:
|
|
print('Env variable METEOCONCEPT_TOKEN passed')
|
|
app.run(host='0.0.0.0', port=PORT, debug=True) |