Update
This commit is contained in:
parent
2c398d0a21
commit
65e9c80647
3 changed files with 158 additions and 4 deletions
39
app.py
39
app.py
|
|
@ -1,13 +1,46 @@
|
|||
import os
|
||||
from flask import Flask
|
||||
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))
|
||||
app.run(host='0.0.0.0', port=port, debug=True)
|
||||
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)
|
||||
121
config.py
Normal file
121
config.py
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
# JSON DUMPS
|
||||
INDENT = 4
|
||||
|
||||
# API URL
|
||||
API_TOKEN = '?token='
|
||||
API_SEARCH = '&search='
|
||||
|
||||
API_LOCATION_CITIES = 'https://api.meteo-concept.com/api/location/cities'
|
||||
API_LOCATION_CITY = 'https://api.meteo-concept.com/api/location/city'
|
||||
API_EPHEMERIDE = 'https://api.meteo-concept.com/api/ephemeride/1'
|
||||
|
||||
# STATIC VARIABLES
|
||||
WINDDIRS = [
|
||||
'Nord',
|
||||
'Nord-Nord-Est',
|
||||
'Nord-Est',
|
||||
'Est-Nord-Est',
|
||||
'Est',
|
||||
'Est-Sud-Est',
|
||||
'Sud-Est',
|
||||
'Sud-Sud-Est',
|
||||
'Sud',
|
||||
'Sud-Sud-Ouest',
|
||||
'Sud-Ouest',
|
||||
'Ouest-Sud-Ouest',
|
||||
'Ouest',
|
||||
'Ouest-Nord-Ouest',
|
||||
'Nord-Ouest',
|
||||
'Nord-Nord-Ouest',
|
||||
'Nord'
|
||||
]
|
||||
WEATHER = {
|
||||
0: "Soleil",
|
||||
1: "Peu nuageux",
|
||||
2: "Ciel voilé",
|
||||
3: "Nuageux",
|
||||
4: "Très nuageux",
|
||||
5: "Couvert",
|
||||
6: "Brouillard",
|
||||
7: "Brouillard givrant",
|
||||
10: "Pluie faible",
|
||||
11: "Pluie modérée",
|
||||
12: "Pluie forte",
|
||||
13: "Pluie faible verglaçante",
|
||||
14: "Pluie modérée verglaçante",
|
||||
15: "Pluie forte verglaçante",
|
||||
16: "Bruine",
|
||||
20: "Neige faible",
|
||||
21: "Neige modérée",
|
||||
22: "Neige forte",
|
||||
30: "Pluie et neige mêlées faibles",
|
||||
31: "Pluie et neige mêlées modérées",
|
||||
32: "Pluie et neige mêlées fortes",
|
||||
40: "Averses de pluie locales et faibles",
|
||||
41: "Averses de pluie locales",
|
||||
42: "Averses locales et fortes",
|
||||
43: "Averses de pluie faibles",
|
||||
44: "Averses de pluie",
|
||||
45: "Averses de pluie fortes",
|
||||
46: "Averses de pluie faibles et fréquentes",
|
||||
47: "Averses de pluie fréquentes",
|
||||
48: "Averses de pluie fortes et fréquentes",
|
||||
60: "Averses de neige localisées et faibles",
|
||||
61: "Averses de neige localisées",
|
||||
62: "Averses de neige localisées et fortes",
|
||||
63: "Averses de neige faibles",
|
||||
64: "Averses de neige",
|
||||
65: "Averses de neige fortes",
|
||||
66: "Averses de neige faibles et fréquentes",
|
||||
67: "Averses de neige fréquentes",
|
||||
68: "Averses de neige fortes et fréquentes",
|
||||
70: "Averses de pluie et neige mêlées localisées et faibles",
|
||||
71: "Averses de pluie et neige mêlées localisées",
|
||||
72: "Averses de pluie et neige mêlées localisées et fortes",
|
||||
73: "Averses de pluie et neige mêlées faibles",
|
||||
74: "Averses de pluie et neige mêlées",
|
||||
75: "Averses de pluie et neige mêlées fortes",
|
||||
76: "Averses de pluie et neige mêlées faibles et nombreuses",
|
||||
77: "Averses de pluie et neige mêlées fréquentes",
|
||||
78: "Averses de pluie et neige mêlées fortes et fréquentes",
|
||||
100: "Orages faibles et locaux",
|
||||
101: "Orages locaux",
|
||||
102: "Orages fort et locaux",
|
||||
103: "Orages faibles",
|
||||
104: "Orages",
|
||||
105: "Orages forts",
|
||||
106: "Orages faibles et fréquents",
|
||||
107: "Orages fréquents",
|
||||
108: "Orages forts et fréquents",
|
||||
120: "Orages faibles et locaux de neige ou grésil",
|
||||
121: "Orages locaux de neige ou grésil",
|
||||
122: "Orages locaux de neige ou grésil",
|
||||
123: "Orages faibles de neige ou grésil",
|
||||
124: "Orages de neige ou grésil",
|
||||
125: "Orages de neige ou grésil",
|
||||
126: "Orages faibles et fréquents de neige ou grésil",
|
||||
127: "Orages fréquents de neige ou grésil",
|
||||
128: "Orages fréquents de neige ou grésil",
|
||||
130: "Orages faibles et locaux de pluie et neige mêlées ou grésil",
|
||||
131: "Orages locaux de pluie et neige mêlées ou grésil",
|
||||
132: "Orages fort et locaux de pluie et neige mêlées ou grésil",
|
||||
133: "Orages faibles de pluie et neige mêlées ou grésil",
|
||||
134: "Orages de pluie et neige mêlées ou grésil",
|
||||
135: "Orages forts de pluie et neige mêlées ou grésil",
|
||||
136: "Orages faibles et fréquents de pluie et neige mêlées ou grésil",
|
||||
137: "Orages fréquents de pluie et neige mêlées ou grésil",
|
||||
138: "Orages forts et fréquents de pluie et neige mêlées ou grésil",
|
||||
140: "Pluies orageuses",
|
||||
141: "Pluie et neige mêlées à caractère orageux",
|
||||
142: "Neige à caractère orageux",
|
||||
210: "Pluie faible intermittente",
|
||||
211: "Pluie modérée intermittente",
|
||||
212: "Pluie forte intermittente",
|
||||
220: "Neige faible intermittente",
|
||||
221: "Neige modérée intermittente",
|
||||
222: "Neige forte intermittente",
|
||||
230: "Pluie et neige mêlées",
|
||||
231: "Pluie et neige mêlées",
|
||||
232: "Pluie et neige mêlées",
|
||||
235: "Averses de grêle",
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
Flask==2.0.2
|
||||
Flask==2.0.2
|
||||
Loading…
Add table
Add a link
Reference in a new issue