170 lines
6.0 KiB
Python
170 lines
6.0 KiB
Python
from json import loads
|
|
from os import path
|
|
from databases import (
|
|
AddressCountry,
|
|
AddressCity,
|
|
AddressDistrict,
|
|
AddressLocality,
|
|
AddressNeighborhood,
|
|
AddressState,
|
|
)
|
|
|
|
path_to_folder = "initialize_app/default_inits"
|
|
list_of_snippets = [
|
|
"countries.json",
|
|
"cities.json",
|
|
"district.json",
|
|
"locality.json",
|
|
"neighborhood.json",
|
|
]
|
|
|
|
|
|
def create_country_defaults(path_to_joined_folder, confirmed_by_system):
|
|
|
|
with open(path_to_joined_folder("countries.json"), "r") as file:
|
|
countries = loads(file.read())
|
|
|
|
print("Countries are read from file ------------------")
|
|
if not countries:
|
|
print("Countries json file is empty")
|
|
|
|
for country in countries.get("tr_co"):
|
|
country_obj = AddressCountry.find_or_create(
|
|
country_name=country.get("country_name"),
|
|
country_code=country.get("country_code"),
|
|
ref_id=str(country.get("ref_id")),
|
|
**confirmed_by_system,
|
|
)
|
|
|
|
|
|
def create_cities_defaults(path_to_joined_folder, confirmed_by_system, state_id):
|
|
|
|
with open(path_to_joined_folder("cities.json"), "r") as file:
|
|
cities = loads(file.read())
|
|
print("Cities are read from file ------------------")
|
|
if not cities:
|
|
print("Cities json file is empty")
|
|
|
|
for city in cities.get("cities"):
|
|
city_obj = AddressCity.find_or_create(
|
|
state_id=state_id,
|
|
city_name=city.get("city_name"),
|
|
city_code=city.get("licence_plate"),
|
|
licence_plate=city.get("licence_plate"),
|
|
ref_id=str(city.get("ref_id")),
|
|
**confirmed_by_system,
|
|
)
|
|
print(f"City {city_obj.city_name} is created")
|
|
|
|
|
|
def create_district_defaults(path_to_joined_folder, confirmed_by_system):
|
|
|
|
with open(path_to_joined_folder("district.json"), "r") as file:
|
|
districts = loads(file.read())
|
|
print("Districts are read from file ------------------")
|
|
if not districts:
|
|
print("Districts json file is empty")
|
|
|
|
for district in districts.get("tr_ilce"):
|
|
city = AddressCity.find_one(ref_id=str(district.get("city_id")))
|
|
if not city:
|
|
print(f"City with ref_id {district.get('city_id')} is not found")
|
|
|
|
district_obj = AddressDistrict.find_or_create(
|
|
city_id=city.id,
|
|
district_name=district.get("district_name"),
|
|
district_code=str(district.get("ref_id")),
|
|
ref_id=str(district.get("ref_id")),
|
|
**confirmed_by_system,
|
|
)
|
|
print(f"District {district_obj} is created")
|
|
|
|
|
|
def create_locality_defaults(path_to_joined_folder, confirmed_by_system):
|
|
|
|
with open(path_to_joined_folder("locality.json"), "r") as file:
|
|
localities = loads(file.read())
|
|
print("Localities are read from file ------------------")
|
|
if not localities:
|
|
print("Localities json file is empty")
|
|
|
|
for locality in localities.get("tr_semt"):
|
|
district = AddressDistrict.find_one(ref_id=str(locality.get("district_id")))
|
|
if not district:
|
|
print(
|
|
f"District with ref_id {locality.get('district_id')} is not found"
|
|
)
|
|
|
|
locality_obj = AddressLocality.find_or_create(
|
|
district_id=district.id,
|
|
locality_name=locality.get("locality_name"),
|
|
locality_code=str(locality.get("post_code")),
|
|
ref_id=str(locality.get("ref_id")),
|
|
**confirmed_by_system,
|
|
)
|
|
print(f"Locality {locality_obj} is created")
|
|
|
|
|
|
def create_neighborhood_defaults(path_to_joined_folder, confirmed_by_system):
|
|
|
|
with open(path_to_joined_folder("neighborhood.json"), "r") as file:
|
|
neighborhoods = loads(file.read())
|
|
print("Neighborhoods are read from file ------------------")
|
|
if not neighborhoods:
|
|
print("Neighborhoods json file is empty")
|
|
|
|
for neighborhood in neighborhoods.get("tr_mahalle_koy"):
|
|
locality = AddressLocality.find_one(
|
|
ref_id=str(neighborhood.get("locality_id"))
|
|
)
|
|
district = AddressDistrict.find_one(
|
|
ref_id=str(neighborhood.get("district_id"))
|
|
)
|
|
|
|
if not district:
|
|
print(
|
|
f"District with ref_id {neighborhood.get('district_id')} is not found"
|
|
)
|
|
|
|
neighborhood_obj = AddressNeighborhood.find_or_create(
|
|
locality_id=locality.id if locality else None,
|
|
district_id=district.id,
|
|
neighborhood_name=neighborhood.get("neighborhood_name"),
|
|
neighborhood_code=str(neighborhood.get("ref_id")),
|
|
ref_id=str(neighborhood.get("ref_id")),
|
|
**confirmed_by_system,
|
|
)
|
|
print(f"Neighborhood {neighborhood_obj} is created")
|
|
|
|
|
|
def create_identity_address_defaults():
|
|
|
|
print("Creating address defaults ------------------")
|
|
|
|
path_to_joined_folder = lambda json_name: path.join(path_to_folder, json_name)
|
|
confirmed_by_system = dict(
|
|
is_confirmed=True,
|
|
active=True,
|
|
deleted=False,
|
|
is_notification_send=True,
|
|
created_by="System",
|
|
confirmed_by="System",
|
|
)
|
|
|
|
create_country_defaults(path_to_joined_folder, confirmed_by_system)
|
|
|
|
turkey = AddressCountry.find_one(ref_id="90")
|
|
turkey_state = AddressState.find_or_create(
|
|
state_name="Türkiye",
|
|
state_code="TR",
|
|
country_id=turkey.id,
|
|
**confirmed_by_system,
|
|
)
|
|
|
|
create_cities_defaults(path_to_joined_folder, confirmed_by_system, turkey_state.id)
|
|
create_district_defaults(path_to_joined_folder, confirmed_by_system)
|
|
create_locality_defaults(path_to_joined_folder, confirmed_by_system)
|
|
create_neighborhood_defaults(path_to_joined_folder, confirmed_by_system)
|
|
print("All address defaults are created ------------------")
|
|
return True
|