diff --git a/back/main.py b/back/main.py index 3c96541..57524b5 100644 --- a/back/main.py +++ b/back/main.py @@ -214,7 +214,7 @@ def poems_to_front(): # db: Annotated[Session, Depends(utils.get_db)] raise HTTPException(status_code=404, detail="Poems not found") @app.get("/api/trashbox", response_model=List[schemas.TrashboxResponse]) -def get_trashboxes(lat:float, lng:float):#крутая функция для работы с api +def get_trashboxes(lat:float, lng:float, category:str):#крутая функция для работы с api #BASE_URL=os.getenv("DOMAIN") # адрес сайта #my_token=os.getenv("TOKEN") # токен BASE_URL= "https://geointelect2.gate.petersburg.ru" @@ -226,11 +226,38 @@ def get_trashboxes(lat:float, lng:float):#крутая функция для р 'y' : f"{lat}", 'limit' : '1' } + + list_of_category = [] # лист по которому будет отбираться uniq_trashboxes + match category: + case "PORRIDGE": + list_of_category=["Опасные отходы", "Иное"] + case "Конспекты": + list_of_category=["Бумага"] + case "Молочные продукты": + list_of_category=["Стекло","Тетра Пак", "Иное"] + case "Хлебобулочные изделия": + list_of_category=["Пластик", "Иное"] + case "Моющие средства": + list_of_category=["Пластик", "Опасные отходы", "Иное"] + case "Одежда": + list_of_category=["Одежда"] + case "Фрукты и овощи": + list_of_category=["Иное"] + case "Супы": + list_of_category=["Опасные отходы", "Иное"] + case "Ужин": + list_of_category=["Опасные отходы", "Иное"] + case "Консервы": + list_of_category=["Металл", "Стекло", "Иное"] + case "Канцелярия": + list_of_category=["Пластик", "Бумага"] + case "Всякая всячина": + list_of_category=["Металл", "Бумага", "Стекло","Иное", "Тетра Пак", "Батарейки", "Крышечки", "Шины", "Опасные отходы", "Лампочки", "Пластик"] response = requests.post(f"{BASE_URL}/nearest_recycling/get", headers=head, data=my_data) infos = response.json() - trashboxes = [] + for trashbox in infos["results"]: temp_dict = {} for obj in trashbox["Objects"]: @@ -245,6 +272,7 @@ def get_trashboxes(lat:float, lng:float):#крутая функция для р trashboxes.append(temp_dict) uniq_trashboxes = [ast.literal_eval(el1) for el1 in set([str(el2) for el2 in trashboxes])] + return JSONResponse(uniq_trashboxes) @app.get("/{rest_of_path:path}")