def init_zip_table(): """currently only imports US zip codes from CSV file :return: """ import django django.setup() import csv import os from RazorCRM_App.models import Locale file_path = os.path.join(os.path.dirname(__file__), 'us_zip_codes.txt') with open(file_path, newline='') as csv_file: zip_reader = csv.reader(csv_file, delimiter=',') i = 0 ## zip,city,state,latitude,longitude,timezone,dst for row in zip_reader: zip_code = __stringify_zip(row[0]) print("[SYS] adding zip code: {0}".format(zip_code)) city = row[1] state = row[2] lat = row[3] lon = row[4] tz_offset = row[5] Locale.create(zip_code, city, state, lat, lon, tz_offset, "US") i += 1 print("[SYS] import zip codes complete: {0}".format(i))
def get_or_create_locale(addr_info): locale_set = Locale.objects.filter(post_code=addr_info[AddrInfoKeys.POSTAL]) if not locale_set: locale = Locale(addr_info[AddrInfoKeys.CITY], addr_info[AddrInfoKeys.STATE], addr_info[AddrInfoKeys.POSTAL], addr_info[AddrInfoKeys.COUNTRY]) locale.save() else: locale = locale_set[0] return locale