447 lines
14 KiB
Python
447 lines
14 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from storm.locals import *
|
|
import uuid
|
|
import sys
|
|
import datetime
|
|
from time import gmtime, mktime
|
|
sys.path.append("../storm/")
|
|
from StormClass import *
|
|
|
|
|
|
db_new = create_database("postgres://michel:8888sm@10.0.3.7:5432/dbpgalloa")
|
|
store_new = Store(db_new)
|
|
|
|
db_old = create_database("postgres://michel:8888sm@10.0.3.7:5432/alloadb")
|
|
store_old = Store(db_old)
|
|
|
|
def remplir_entete(classe, table):
|
|
classe.z_nomtable = unicode(table)
|
|
classe.z_semaphore = u"FREE"
|
|
classe.z_datecreation = mktime(gmtime())
|
|
classe.z_datemodification = classe.z_datecreation
|
|
classe.z_dernier_temps_modif = u"0"
|
|
classe.z_groupecreateur = u"root:root"
|
|
classe.z_encourstraitement = False
|
|
classe.z_datearevoirle = datetime.date(1970, 1, 1)
|
|
classe.z_nombreimport = 0
|
|
classe.z_modification = False
|
|
classe.z_localesvn = int(datetime.datetime.now().strftime("%y%m%d%H%M%S"))
|
|
classe.z_raisonrefus = u""
|
|
classe.z_historique = u"root:" + datetime.datetime.now().strftime("%y%m%d%H%M%S") + ";"
|
|
|
|
#################################################################################################
|
|
|
|
def stripANous(champs):
|
|
if champs == None:
|
|
return u""
|
|
else:
|
|
return unicode(champs.strip())
|
|
|
|
def export_continents():
|
|
global store_old, store_new
|
|
res = store_old.execute("select * from cartographie.continents")
|
|
for cont in res:
|
|
new = Continent()
|
|
new.uuidcontinents = unicode(uuid.uuid4())
|
|
new.frlibcontinent = cont[2]
|
|
new.gblibcontinent = cont[3]
|
|
new.refcontinents = cont[1]
|
|
new.refalaune = cont[16]
|
|
new.refbaniere = cont[17]
|
|
new.frdesccontinents = cont[18]
|
|
new.gbdesccontinents = cont[19]
|
|
new.ispublique = True
|
|
new.is_thematique = False
|
|
remplir_entete(new, "Continent")
|
|
store_new.add(new)
|
|
|
|
|
|
def export_pays():
|
|
global store_old, store_new
|
|
res = store_old.execute("select * from cartographie.pays")
|
|
uuiddevise = store_new.find(Ogdevise).one().uuidogdevise
|
|
for pays in res:
|
|
new = Pays()
|
|
new.uuidpays = unicode(uuid.uuid4())
|
|
new.refpays = pays[1] + u"-"
|
|
new.frlibpays = stripANous(pays[2])
|
|
new.gblibpays = stripANous(pays[3])
|
|
new.frdescpays = stripANous(pays[4])
|
|
new.gbdescpays = stripANous(pays[5])
|
|
new.codedevise = stripANous(pays[6])
|
|
new.lattitude_depart = stripANous(pays[7])
|
|
new.longitude_depart = stripANous(pays[8])
|
|
new.lattitude_arrivee = stripANous(pays[9])
|
|
new.longitude_arrivee = stripANous(pays[10])
|
|
if pays[24].strip() == "5":
|
|
new.refcontinents = u"12"
|
|
else : new.refcontinents = stripANous(pays[24])
|
|
new.uuidogdevise = uuiddevise
|
|
new.is_cee = False
|
|
new.is_asean = False
|
|
new.is_dangerous = False
|
|
new.is_commonewealth = False
|
|
new.ispublique = True
|
|
new.is_thematique = False
|
|
new.codeiso = stripANous(pays[1])
|
|
remplir_entete(new, "Pays")
|
|
store_new.add(new)
|
|
|
|
def export_region():
|
|
global store_old, store_new
|
|
res = store_old.execute("select * from cartographie.region")
|
|
for cont in res:
|
|
new = Region2()
|
|
new.refregion = stripANous(cont[0])
|
|
new.uuidregion = unicode(uuid.uuid4())
|
|
new.frlibregion = stripANous(cont[2])
|
|
new.gblibregion = stripANous(cont[3])
|
|
new.frdescregion = u""
|
|
new.gbdescregion = u""
|
|
new.frarguments = u""
|
|
new.gbarguments = u""
|
|
new.frclimat = u""
|
|
new.gbclimat = u""
|
|
new.frsante = u""
|
|
new.gbsante = u""
|
|
new.fraccroche = u""
|
|
new.gbaccroche = u""
|
|
new.fra_voir_avivre = u""
|
|
new.gba_voir_avivre = u""
|
|
new.frcuisine = u""
|
|
new.gbcuisine = u""
|
|
new.frshopping = u""
|
|
new.gbshopping = u""
|
|
new.janvier = False
|
|
new.fevrier = False
|
|
new.mars = False
|
|
new.avril = False
|
|
new.mai = False
|
|
new.juin = False
|
|
new.juillet = False
|
|
new.aout = False
|
|
new.septembre = False
|
|
new.octobre = False
|
|
new.novembre = False
|
|
new.decembre = False
|
|
new.note_privee = u""
|
|
new.refmageaccroche = u""
|
|
new.lattitude_depart = u""
|
|
new.longitude_depart = u""
|
|
new.lattitude_arrivee = u""
|
|
new.longitude_arrivee = u""
|
|
new.principauxgatteways = u""
|
|
new.ispublique = True
|
|
tmp = store_new.find(Pays, Pays.refpays == stripANous(cont[39]) + u"-").one()
|
|
if (tmp != None):
|
|
new.refpays = stripANous(tmp.refpays)
|
|
else :
|
|
new.refpays = u"Z9"
|
|
new.is_thematique = False
|
|
remplir_entete(new, "Region")
|
|
store_new.add(new)
|
|
|
|
|
|
def export_destination():
|
|
global store_old, store_new
|
|
res = store_old.execute("select * from cartographie.destination")
|
|
compteur = 0
|
|
for dest in res:
|
|
new = Region2()
|
|
new.uuidregion = unicode(uuid.uuid4())
|
|
new.frlibregion = stripANous(dest[1])
|
|
new.gblibregion = stripANous(dest[2])
|
|
new.frdescregion = u""
|
|
new.gbdescregion = u""
|
|
new.frarguments = u""
|
|
new.gbarguments = u""
|
|
new.frclimat = u""
|
|
new.gbclimat = u""
|
|
new.frsante = u""
|
|
new.gbsante = u""
|
|
new.fraccroche = u""
|
|
new.gbaccroche = u""
|
|
new.fra_voir_avivre = u""
|
|
new.gba_voir_avivre = u""
|
|
new.frcuisine = u""
|
|
new.gbcuisine = u""
|
|
new.frshopping = u""
|
|
new.gbshopping = u""
|
|
new.janvier = False
|
|
new.fevrier = False
|
|
new.mars = False
|
|
new.avril = False
|
|
new.mai = False
|
|
new.juin = False
|
|
new.juillet = False
|
|
new.aout = False
|
|
new.septembre = False
|
|
new.octobre = False
|
|
new.novembre = False
|
|
new.decembre = False
|
|
new.note_privee = u""
|
|
new.refmageaccroche = u""
|
|
new.lattitude_depart = u""
|
|
new.longitude_depart = u""
|
|
new.lattitude_arrivee = u""
|
|
new.longitude_arrivee = u""
|
|
new.principauxgatteways = u""
|
|
new.ispublique = True
|
|
tmp = store_new.find(Region, Region.refregion == stripANous(dest[0])).one()
|
|
if tmp != None:
|
|
new.refregion = u"zzz%s" % compteur
|
|
else:
|
|
new.refregion = stripANous(dest[0])
|
|
compteur += 1
|
|
tmp = store_new.find(Pays, Pays.refpays == stripANous(dest[0])[0:3]).one()
|
|
if (tmp != None):
|
|
new.refpays = stripANous(tmp.refpays)
|
|
else :
|
|
new.refpays = u"Z9"
|
|
new.is_thematique = True
|
|
remplir_entete(new, "Region")
|
|
store_new.add(new)
|
|
|
|
def export_ville():
|
|
global store_old, store_new
|
|
res = store_old.execute("select * from cartographie.ville")
|
|
cpt = 0
|
|
for ville in res:
|
|
cpt += 1
|
|
if cpt % 1000:
|
|
print cpt
|
|
new = Ville()
|
|
new.refville = stripANous(ville[0])
|
|
new.uuidville = unicode(uuid.uuid4())
|
|
new.frlibville = stripANous(ville[1])
|
|
new.gblibville = stripANous(ville[2])
|
|
new.frdescville = u""
|
|
new.gbdescville = u""
|
|
new.code_postal = u""
|
|
new.codeetat = stripANous(ville[23])
|
|
new.gateway = ville[24]
|
|
new.lattitude_depart = stripANous(ville[6])
|
|
new.longitude_depart = stripANous(ville[7])
|
|
new.lattitude_arrivee = u""
|
|
new.longitude_arrivee = u""
|
|
tmp = store_new.find(Region, Region.refregion == stripANous(ville[10])).one()
|
|
if (tmp != None):
|
|
new.refregion = stripANous(tmp.refregion)
|
|
else: new.refregion = u"bidon"
|
|
new.ispublique = True
|
|
new.codeiso = u""
|
|
remplir_entete(new, "Ville")
|
|
store_new.add(new)
|
|
|
|
def export_gateway():
|
|
global store_old, store_new
|
|
res = store_old.execute("select * from cartographie.gateway")
|
|
cpt = 0
|
|
cptaffiche = 100
|
|
for gat in res:
|
|
new = Gateway()
|
|
cpt += 1
|
|
if (cpt == cptaffiche) or (cpt == 27846):
|
|
print "%s/27846" % cpt
|
|
cptaffiche += 100
|
|
new.refgateway = stripANous(gat[1])
|
|
new.uuidgateway = unicode(uuid.uuid4())
|
|
new.codegalileo = stripANous(gat[2])
|
|
new.frlibgateway = stripANous(gat[3])
|
|
new.gblibgateway = stripANous(gat[4])
|
|
new.isfer = gat[5]
|
|
new.isroutiere = gat[6]
|
|
new.isaeroportinter = gat[7]
|
|
new.isaerodrome = gat[8]
|
|
new.isferry = gat[9]
|
|
new.isportcroisiere = gat[10]
|
|
new.isportplaisance = gat[11]
|
|
new.lattitude_depart = stripANous(gat[12])
|
|
new.longitude_depart = stripANous(gat[13])
|
|
new.lattitude_arrivee = stripANous(gat[14])
|
|
new.longitude_arrivee = stripANous(gat[15])
|
|
new.ispublique = True
|
|
remplir_entete(new, "Gateway")
|
|
store_new.add(new)
|
|
|
|
|
|
|
|
|
|
def export_z_villes_gateways():
|
|
print "créations des listes"
|
|
tmp = store_new.find(Ville, True)
|
|
listeVille = []
|
|
listeGateway = []
|
|
for cont in tmp:
|
|
listeVille.append(cont.refville)
|
|
tmp = store_new.find(Gateway, True)
|
|
for cont in tmp:
|
|
listeGateway.append(cont.refgateway)
|
|
|
|
print "bouclewhile"
|
|
cpt = 0
|
|
while len(listeGateway):
|
|
tmpgateway = listeGateway[0]
|
|
del listeGateway[0]
|
|
res = store_old.execute("select * from cartographie.z_villes_gateways where refgateway='%s'" % tmpgateway)
|
|
for cont in res:
|
|
if cont[0] in listeVille:
|
|
cpt += 1
|
|
a = Zlien_villes_gateways()
|
|
a.refville = cont[0]
|
|
a.refgateway = tmpgateway
|
|
store_new.add(a)
|
|
print "commit", cpt
|
|
store_new.commit()
|
|
|
|
|
|
|
|
"""global store_old,store_new
|
|
print "récupération de la table en cours..."
|
|
res=store_old.execute("select * from cartographie.z_villes_gateways ORDER BY refville asc limit 10000")
|
|
print "récupération terminé"
|
|
cpt=1
|
|
villeAvant=None
|
|
for lien in res:
|
|
new=Zlien_villes_gateways()
|
|
cpt+=1
|
|
if cpt%1000==0:
|
|
print "%s/12311488"%cpt
|
|
tmp1=lien[0]
|
|
tmp2=lien[1]
|
|
if villeAvant==tmp2 :
|
|
if tmp1 in listeGateway:
|
|
new.refgateway=tmp1
|
|
new.refville=tmp2
|
|
else:
|
|
continue
|
|
else:
|
|
if tmp2 in listeVille:
|
|
villeAvant=tmp2
|
|
new.refville=tmp2
|
|
new.refgateway=tmp1
|
|
else:
|
|
villeAvant=None
|
|
continue
|
|
|
|
store_new.add(new)
|
|
if cpt%150000==0:
|
|
print "commit en cour..."
|
|
store_new.commit()
|
|
print "commit terminé"
|
|
"""
|
|
|
|
def creationObjetBidon():
|
|
# ## création d'un contineent bidon
|
|
new = Continent()
|
|
new.uuidcontinents = unicode(uuid.uuid4())
|
|
new.frlibcontinent = u"Continent Bidon"
|
|
new.gblibcontinent = u"Continent bidon"
|
|
new.refcontinents = u"12"
|
|
new.refalaune = u""
|
|
new.refbaniere = u""
|
|
new.frdesccontinents = u"un très joli continent"
|
|
new.gbdesccontinents = u"a very beautiful continent"
|
|
new.ispublique = False
|
|
new.is_thematique = False
|
|
remplir_entete(new, "Continent")
|
|
store_new.add(new)
|
|
store_new.commit()
|
|
# ## création d'un pays bidon
|
|
new = Pays()
|
|
new.uuidpays = unicode(uuid.uuid4())
|
|
new.frlibpays = u"PAYS BIDON"
|
|
new.gblibpays = u"PAYS BIDON"
|
|
new.refpays = u"Z9"
|
|
new.refcontinents = u"12"
|
|
new.frdescpays = u"un très joli pays"
|
|
new.gbdescpays = u"a very beautiful pays"
|
|
new.ispublique = False
|
|
new.is_thematique = False
|
|
remplir_entete(new, "Pays")
|
|
new.uuidogdevise = store_new.find(Ogdevise).one().uuidogdevise
|
|
store_new.add(new)
|
|
store_new.commit()
|
|
### création d'une region bidon ###
|
|
|
|
new = Region()
|
|
new.refregion = u"bidon"
|
|
new.uuidregion = unicode(uuid.uuid4())
|
|
new.frlibregion = u"REGION BIDON"
|
|
new.gblibregion = u"REGION BIDON"
|
|
new.refpays = u"Z9"
|
|
new.ispublique = False
|
|
remplir_entete(new, "Region")
|
|
store_new.add(new)
|
|
store_new.commit()
|
|
|
|
### création d'une ville bidon ###
|
|
|
|
new = Ville()
|
|
new.refville = u"ZBidon"
|
|
new.refregion = u"bidon"
|
|
new.uuidville = unicode(uuid.uuid4())
|
|
new.frlibville = u"VILLE BIDON"
|
|
new.gblibville = u"VILLE BIDON"
|
|
new.ispublique = False
|
|
remplir_entete(new, "Region")
|
|
store_new.add(new)
|
|
store_new.commit()
|
|
### création d'un aéroport bidon ###
|
|
|
|
new = Gateway()
|
|
new.refgateway = u"ZZNAZ"
|
|
new.uuidgateway = unicode(uuid.uuid4())
|
|
new.frlibgateway = u"GATEWAY BIDON"
|
|
new.gblibgateway = u"GATEWAY BIDON"
|
|
new.ispublique = False
|
|
remplir_entete(new, "Gateway")
|
|
store_new.add(new)
|
|
store_new.commit()
|
|
|
|
|
|
def importerAll ():
|
|
|
|
#===============================================================================
|
|
# #===============================================================================
|
|
# # print"def export_continents():"
|
|
# # export_continents()
|
|
# # store_new.commit()
|
|
# # print"def export_pays()"
|
|
# # export_pays()
|
|
# # store_new.commit()
|
|
# # print "export_region()"
|
|
# # export_region()
|
|
# # store_new.commit()
|
|
# # print "export_destination()"
|
|
# # export_destination()
|
|
# # store_new.commit()
|
|
# #===============================================================================
|
|
# print "export_ville()"
|
|
# export_ville()
|
|
# print "commit en cours"
|
|
# store_new.commit()
|
|
#===============================================================================
|
|
#===============================================================================
|
|
# print "export_gateway()"
|
|
# export_gateway()
|
|
# store_new.commit()
|
|
#===============================================================================
|
|
print "export_z_villes_gateways():"
|
|
export_z_villes_gateways()
|
|
|
|
|
|
|
|
|
|
|
|
# creationObjetBidon()
|
|
export_region()
|
|
store_new.commit()
|
|
export_destination()
|
|
# export_z_villes_gateways()
|
|
print "commit en cour..."
|
|
store_new.commit()
|
|
print "commit terminé"
|
|
print "--terminé--"
|