def add_station_names(self, station): raw_name = station.display_name.lower() names = [] names.append(raw_name) add_funcs = [self.make_ordinalized_name, self.make_station_appended_name] for add_func in add_funcs: add_list = [] for name in names: add_name = add_func(name) if name != add_name: add_list.append(add_name) names += add_list for name in names: station_name = StationName(station=station, name=name) station_name.put()
def get_station(self, station_name, train_list): q = StationName.all() q.filter('name = ', station_name.lower()) count = q.count() if count == 0: return None if count == 1: return q.get().station station_names = q.fetch(count) for sn in station_names: station = sn.station s_train_set = set(station.trains) a_train_set = set(train_list) if s_train_set != a_train_set: station_names.remove(sn) if len(station_names) == 1: return station_names[0].station else: return None