82 lines
2.5 KiB
Python
82 lines
2.5 KiB
Python
from .DbManager import DbManager
|
||
import mariadb
|
||
import json
|
||
|
||
|
||
class AddressDAO:
|
||
__cur = None
|
||
def __init__(self):
|
||
#print(f"*** File: {__file__}, init()")
|
||
self.__con = DbManager().getConnection()
|
||
|
||
if self.__con:
|
||
self.__cur = self.__con.cursor()
|
||
|
||
|
||
|
||
def __importPlz(self):
|
||
with open("/home/dstoppek/Coden/Projekte/pyqcrm/doc/postleitzahl.json", "r") as plz:
|
||
postcodes = json.load(plz)
|
||
country = "Deutschland"
|
||
|
||
try:
|
||
for i in postcodes:
|
||
test =i["plz_name"].split(",")
|
||
for town in test:
|
||
if "u.a" in town:
|
||
town = town[:-4]
|
||
town = town.strip()
|
||
if town:
|
||
print(f"PROCESSING {i['name']} {town}")
|
||
self.__cur.callproc("importLocation", (country, town, i["name"],))
|
||
|
||
except mariadb.OperationalError as e:
|
||
print(f"Database Error: {e}")
|
||
finally:
|
||
self.__con.commit()
|
||
print("FINISHED")#
|
||
|
||
def __importCountry(self):
|
||
with open("/home/dstoppek/Coden/Projekte/pyqcrm/doc/staaten.json", "r") as country:
|
||
countries = json.load(country)
|
||
old = ""
|
||
try:
|
||
for i in countries["daten"]:
|
||
if i[4] == "–":
|
||
continue
|
||
elif i[8] == "YU":
|
||
continue
|
||
elif i[4] == old:
|
||
continue
|
||
elif i[4] == "Serbien und Montenegro":
|
||
continue
|
||
elif i[4] == "Bosnien und Herzegowina":
|
||
continue
|
||
|
||
print(i[4], i[3], i[2], i[8], i[7])
|
||
|
||
self.__cur.execute("INSERT INTO country (country, countryshort, nationality, iso2, iso3) VALUES (%s, %s, %s, %s, %s)", (i[4], i[3], i[2], i[8], i[7]))
|
||
old = i[4]
|
||
except mariadb.OperationalError as e:
|
||
print(f"Database Error: {e}")
|
||
finally:
|
||
self.__con.commit()
|
||
print("FINISHED")#
|
||
|
||
|
||
|
||
|
||
def getAddressData(self, all = True, zipcode = None):
|
||
try:
|
||
if self.__cur:
|
||
self.__cur.callproc("getAddress", (all, zipcode,))
|
||
self.__data = self.__cur.fetchall()
|
||
return self.__data
|
||
else:
|
||
return None
|
||
except mariadb.Error as e:
|
||
print(str(e))
|
||
|
||
|
||
|