From 8cfac08e8da06d0e9356d4d6d631a902d347e970 Mon Sep 17 00:00:00 2001 From: MatManSky Date: Wed, 9 Aug 2023 19:54:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D0=BC=D1=83=D1=81=D0=BE=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/main.py | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) 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}")