Add unused subregions
This commit is contained in:
parent
3dd76503a5
commit
215f36eb9b
1
apps/location/ruby_unused_data.py
Normal file
1
apps/location/ruby_unused_data.py
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -235,7 +235,7 @@ def migrate_city_photos():
|
||||||
# Update location models with ruby library
|
# Update location models with ruby library
|
||||||
# Utils functions defined before transfer functions
|
# Utils functions defined before transfer functions
|
||||||
def get_ruby_socket(params):
|
def get_ruby_socket(params):
|
||||||
url = 'http://172.29.0.1:5678' # docker host
|
url = 'http://172.21.0.1:5678' # docker host
|
||||||
response = get(url, params=params)
|
response = get(url, params=params)
|
||||||
try:
|
try:
|
||||||
data = json.loads(response.text)
|
data = json.loads(response.text)
|
||||||
|
|
@ -318,6 +318,32 @@ def get_ruby_data():
|
||||||
return ruby_data
|
return ruby_data
|
||||||
|
|
||||||
|
|
||||||
|
def get_unused_data():
|
||||||
|
ruby_data = {}
|
||||||
|
error_file = open(f"{settings.PROJECT_ROOT}/ruby_unused_error.txt", "w")
|
||||||
|
|
||||||
|
countries = Country.objects.all()
|
||||||
|
|
||||||
|
for country in countries:
|
||||||
|
|
||||||
|
ruby_params = {}
|
||||||
|
|
||||||
|
ruby_response = get_ruby_socket({"country_regions": country.code})
|
||||||
|
|
||||||
|
if ruby_response is None:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if "error" in ruby_response.keys():
|
||||||
|
error_file.write(f"{json.dumps(ruby_params)}: {json.dumps(ruby_response)}\n")
|
||||||
|
continue
|
||||||
|
|
||||||
|
ruby_data[country.code] = ruby_response
|
||||||
|
error_file.close()
|
||||||
|
|
||||||
|
with open(f"{settings.PROJECT_ROOT}/apps/location/ruby_unused_data.py", "w") as ruby_data_file:
|
||||||
|
ruby_data_file.write(json.dumps(ruby_data))
|
||||||
|
|
||||||
|
|
||||||
# Add correct objects of Country, Region and City with mysql_ids array (Country, Region) and mysql_id (City)
|
# Add correct objects of Country, Region and City with mysql_ids array (Country, Region) and mysql_id (City)
|
||||||
def add_correct_location_models(ruby_data):
|
def add_correct_location_models(ruby_data):
|
||||||
for mysql_id, city_object in tqdm(ruby_data.items()):
|
for mysql_id, city_object in tqdm(ruby_data.items()):
|
||||||
|
|
@ -727,6 +753,41 @@ def setup_clean_db():
|
||||||
transfer_city_gallery()
|
transfer_city_gallery()
|
||||||
|
|
||||||
|
|
||||||
|
def set_unused_regions():
|
||||||
|
ruby_data_file = open(f"{settings.PROJECT_ROOT}/apps/location/ruby_unused_data.py", "r")
|
||||||
|
ruby_data = json.loads(ruby_data_file.read())
|
||||||
|
|
||||||
|
for country_code, regions in ruby_data.items():
|
||||||
|
try:
|
||||||
|
country = Country.objects.get(code=country_code)
|
||||||
|
except Country.DoesNotExist:
|
||||||
|
print(f"Country with code {country_code} does not exists")
|
||||||
|
continue
|
||||||
|
|
||||||
|
for region_code, region_obj in regions.items():
|
||||||
|
try:
|
||||||
|
region = Region.objects.get(code=region_code, country=country)
|
||||||
|
except Region.DoesNotExist:
|
||||||
|
region = Region.objects.create(
|
||||||
|
name=region_obj['name'],
|
||||||
|
code=region_code,
|
||||||
|
country=country
|
||||||
|
)
|
||||||
|
|
||||||
|
if "subregions" in region_obj:
|
||||||
|
for subregion_code, subregion in region_obj['subregions'].items():
|
||||||
|
try:
|
||||||
|
subregion = Region.objects.get(code=subregion, country=country)
|
||||||
|
except Region.DoesNotExist:
|
||||||
|
subregion = Region.objects.create(
|
||||||
|
name=subregion,
|
||||||
|
code=subregion_code,
|
||||||
|
country=country,
|
||||||
|
parent_region=region
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
data_types = {
|
data_types = {
|
||||||
"dictionaries": [
|
"dictionaries": [
|
||||||
# transfer_countries,
|
# transfer_countries,
|
||||||
|
|
@ -761,4 +822,5 @@ data_types = {
|
||||||
],
|
],
|
||||||
|
|
||||||
"setup_clean_db": [setup_clean_db],
|
"setup_clean_db": [setup_clean_db],
|
||||||
|
"set_unused_regions": [set_unused_regions]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ class Command(BaseCommand):
|
||||||
'add_fake_country',
|
'add_fake_country',
|
||||||
'setup_clean_db',
|
'setup_clean_db',
|
||||||
'languages', # №4 - перенос языков
|
'languages', # №4 - перенос языков
|
||||||
|
'set_unused_regions',
|
||||||
]
|
]
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user