def Metastation_sort_onestation(Transport1, Transport2, Transport3, Transport4): Metastation_sort_onestation124_txt = os.path.join(PROJECT_ROOT, 'kesh3/Metastation_sort_onestation124.txt') max_station_timestamp = Station.objects.all().aggregate(Max('timestamp')) max_route_timestamp = Route.objects.all().aggregate(Max('timestamp')) max_transport_timestamp = Transport.objects.all().aggregate(Max('timestamp')) max_onestation_timestamp = Onestation.objects.all().aggregate(Max('timestamp')) max_timestamp = max(max_onestation_timestamp, max_station_timestamp, max_route_timestamp, max_transport_timestamp) max_timestamp = max_timestamp['timestamp__max'] if os.path.isfile(Metastation_sort_onestation124_txt) == False: open(Metastation_sort_onestation124_txt, 'w') sm_file = os.path.getmtime(Metastation_sort_onestation124_txt) stat = os.stat(Metastation_sort_onestation124_txt) file_size = stat.st_size timestamp = datetime.datetime.fromtimestamp(sm_file) if timestamp < max_timestamp or file_size == 0: list_in_raduus = [[]] * 398 metastations_stations_list = new_Metastation(Transport1, Transport2, Transport3, Transport4) for para in metastations_stations_list: a = para[0] b = para[1] para[0] = int(Station.objects.get(matrix_index=a).one_station_id) para[1] = int(Station.objects.get(matrix_index=b).one_station_id) #metastations_stations_list.sort() for element in range(398): one_list = list() for para in metastations_stations_list: if element == para[0]: one_list += [para[1]] list_in_raduus[element] = one_list list_in_radius = list() for in_radus in list_in_raduus: q = list(set(in_radus)) list_in_radius += [q] fp = open(Metastation_sort_onestation124_txt, "w") fp.write(repr(list_in_radius)) fp.close() else: fp = open(Metastation_sort_onestation124_txt, 'r') read_file = fp.read() list_in_radius = eval(read_file) fp.close() return list_in_radius
def Metastation_sort(Transport1, Transport2, Transport3, Transport4): Metastation_sort124_txt = os.path.join(PROJECT_ROOT, 'kesh3/Metastation_sort124.txt') max_station_timestamp = Station.objects.all().aggregate(Max('timestamp')) max_route_timestamp = Route.objects.all().aggregate(Max('timestamp')) max_transport_timestamp = Transport.objects.all().aggregate(Max('timestamp')) max_onestation_timestamp = Onestation.objects.all().aggregate(Max('timestamp')) max_timestamp = max(max_onestation_timestamp, max_station_timestamp, max_route_timestamp, max_transport_timestamp) max_timestamp = max_timestamp['timestamp__max'] if os.path.isfile(Metastation_sort124_txt) == False: open(Metastation_sort124_txt, 'w') sm_file = os.path.getmtime(Metastation_sort124_txt) stat = os.stat(Metastation_sort124_txt) file_size = stat.st_size timestamp = datetime.datetime.fromtimestamp(sm_file) if timestamp < max_timestamp or file_size == 0: list_in_raduus = [[]] * 866 metastations_stations_list = new_Metastation(Transport1, Transport2, Transport3, Transport4) metastations_stations_list.sort() for element in range(866): one_list = list() for para in metastations_stations_list: if element == para[0]: one_list += [para[1]] list_in_raduus[element] = one_list for element1 in range(866): next_element = element1 + 1 if next_element < 865: if int(Station.objects.get(matrix_index=next_element).order) > int(Station.objects.get(matrix_index=element1).order): list_in_raduus[element1] += [next_element] if int(Station.objects.get(matrix_index=element1).order) - 1 >= 0: list_in_raduus[element1] += [element1 - 1] fp = open(Metastation_sort124_txt, "w") fp.write(repr(list_in_raduus)) fp.close() else: fp = open(Metastation_sort124_txt, 'r') read_file = fp.read() list_in_raduus = eval(read_file) fp.close() return list_in_raduus