wag-managment-api-service-v.../service_app_init/initialize_app/initialize_identity_address...

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