This commit is contained in:
SBD
2025-01-08 18:56:36 +03:00
parent 5ea5529c67
commit ed1383622f

View File

@@ -4,6 +4,7 @@ from django.http import HttpResponse, Http404, FileResponse
from django.template import loader, RequestContext
from django.contrib.auth.decorators import login_required
from ReferenceDataApp.models import Country, City, Airport
from .models import *
from django.conf import settings
from .funcs import get_inter_http_response
@@ -14,7 +15,8 @@ from django.contrib.auth.models import User
from django.views.decorators.csrf import csrf_exempt
from webpush import send_user_notification
import json
from datetime import datetime, timedelta
from datetime import datetime, timedelta, date
def generate_routes(request, routes_count):
if (not request.user
@@ -59,6 +61,39 @@ def generate_routes(request, routes_count):
return HttpResponse('finished')
def export_cities():
def fix_fields_for_json(items_list):
rec_list = []
for rec in list(recs):
rec_Dict = {}
for key, val in rec.items():
if type(val) in [datetime, date]:
val = str(val)
rec_Dict[key] = val
rec_list.append(rec_Dict)
return rec_list
fields = [item.name for item in Country.objects.model._meta.fields if item.name not in ['name_plural']]
recs = Country.objects.all().values(*fields)
rec_list = fix_fields_for_json(recs)
with open('countries.json', 'w', encoding='utf-8') as f:
f.write(json.dumps(rec_list, ensure_ascii=False, indent=4))
fields = [item.name for item in City.objects.model._meta.fields if item.name not in ['name_plural']]
recs = City.objects.all().values(*fields)
rec_list = fix_fields_for_json(recs)
with open('cities.json', 'w', encoding='utf-8') as f:
f.write(json.dumps(rec_list, ensure_ascii=False, indent=4))
fields = [item.name for item in Airport.objects.model._meta.fields if item.name not in ['name_plural']]
recs = Airport.objects.all().values()
rec_list = fix_fields_for_json(recs)
with open('airports.json', 'w', encoding='utf-8') as f:
f.write(json.dumps(rec_list, ensure_ascii=False, indent=4))
return True
def test_code(request):
@@ -71,9 +106,11 @@ def test_code(request):
res = ''
from RoutesApp.search_matches import search_matches
from RoutesApp.models import Route
search_matches(Route.objects.filter(id=16))
export_cities()
# from RoutesApp.search_matches import search_matches
# from RoutesApp.models import Route
# search_matches(Route.objects.filter(id=16))
# from RoutesApp.funcs import get_city_by_type_transport_and_address_point
# from RoutesApp.models import Route