def main(): rsts = query_all_rsts(city_ids=[1], is_valid=1, is_premium=0) rst_region_map = region.get_region_map_by_rst([rst['id'] for rst in rsts]) region_map = region.mget(list(set(rst_region_map.values())), return_map=True) unregioned_count = 0 unregions = [] for rst_id, region_id in rst_region_map.iteritems(): if not region_map.has_key(region_id): unregioned_count += 1 print('{}, {}'.format(rst_id, region_id)) unregions.append(region_id) update_restaurant_region(rst_id, -10) print('total unregioned: {}'.format(unregioned_count)) print('unregions: {}'.format(list(set(unregions))))
def _region_map2list(cls, region_struct): if not region_struct: return [], [], [] # get ids city_ids = region_struct.keys() region_group_ids = reduce(lambda l1, l2: l1 + l2, [x.keys() for x in region_struct.values()]) region_ids = [] for r_ids_list in region_struct.values(): for r_ids in r_ids_list.values(): region_ids.extend(r_ids) # get names cities = city_base.mget(city_ids) region_groups = rg_base.mget(region_group_ids) regions = region_base.mget(region_ids) return [{'city_id': city.id, 'city_name': city.name} for city in cities],\ [{'region_group_id': rg.id, 'region_group_name': rg.name} for rg in region_groups],\ [{'region_id': region.id, 'region_name': region.name} for region in regions]