Commit 8d377668 authored by JonathanMM's avatar JonathanMM

Création d'un script pour mettre à zéro les adresses et position des stations

parent e18c25b6
from adresseLib import getAdresse
import pymysql, urllib, hashlib, os, time, json
from config import getMysqlConnection, getURLVelib
def val(valeur):
if valeur is None:
return 'NULL'
return '"'+str(valeur)+'"'
def fichierEnBinaire(file):
with file:
return file.read()
def resetCoordonnees():
mysql = getMysqlConnection()
requete = mysql.cursor()
urlVelib = getURLVelib()
tmpFileName = 'detailsStations.json'
nbEssai = 0
fichierOk = False
while nbEssai < 3 and not fichierOk:
urllib.request.urlretrieve(urlVelib, tmpFileName)
dataBrut = open(tmpFileName)
#On regarde si ce n'est pas le md5 corrompu !
valeurMD5 = hashlib.md5(fichierEnBinaire(open(tmpFileName, 'rb'))).hexdigest()
fichierOk = valeurMD5 != 'c746fec461216aa3a67602b879dafa6c'
nbEssai += 1
if not fichierOk:
os.remove(tmpFileName)
time.sleep(10)
if not fichierOk: #On n'a trouvé de valeurs correctes :(
return False
data = json.load(dataBrut)
for etatStation in data:
infoStation = etatStation['station']
try:
codeStation = int(infoStation['code'])
except Exception:
codeStation = 0
if codeStation > 100:
longitude = infoStation['gps']['longitude']
latitude = infoStation['gps']['latitude']
adresse = getAdresse(latitude, longitude)
requete = mysql.cursor()
requete.execute('UPDATE stations SET longitude = '+val(longitude)+', latitude = '+val(latitude)+', adresse = '+val(adresse)+' WHERE code = '+val(codeStation))
mysql.close()
resetCoordonnees()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment