Skip to content

Commit

Permalink
Add missing try-except block and fix typo in
Browse files Browse the repository at this point in the history
sensor endpoint
  • Loading branch information
motty-mio2 committed Nov 5, 2023
1 parent a07003b commit a06ba95
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 36 deletions.
54 changes: 32 additions & 22 deletions src/kb_2315/backend/api/endpoints/sensor.py
Original file line number Diff line number Diff line change
@@ -1,34 +1,44 @@
from typing import cast
from uuid import UUID
from fastapi import APIRouter

from kb_2315 import notify
from kb_2315.backend.crud import crud_sensor, crud_session, crud_shoe
from kb_2315.backend.schemas import sensor
from kb_2315.backend.schemas import schema_sensor


router = APIRouter()


@router.post("/")
def search_shoe(item: sensor) -> None:
crud_sensor.add_sensor(
device_id=item.device_id,
external_temperature=item.external_temperature,
external_humidity=item.external_humidity,
internal_temperature=item.internal_temperature,
internal_humidity=item.internal_humidity,
sesison_id=item.session_id,
drying=item.drying,
)

if not item.drying:
shoe_id: int | None = crud_session.search_session_by(session_id=item.session_id)[0].shoe_id
shoe_name: str | None = crud_shoe.search_shoe_by(id=shoe_id)[0].name

if not shoe_name:
shoe_name = "靴"

notify.line.send_message(
message=f"{shoe_name} の乾燥が完了しました\nシューズキーパーを入れてください",
def search_shoe(item: schema_sensor.sensor) -> None:
try:
uuid = UUID(item.session_id)

crud_sensor.add_sensor(
device_id=item.device_id,
external_temperature=item.external_temperature,
external_humidity=item.external_humidity,
internal_temperature=item.internal_temperature,
internal_humidity=item.internal_humidity,
sesison_id=uuid,
drying=item.drying,
)

return None
if not item.drying:
shoe_name: str = "靴"

shoe_id: int | None = crud_session.search_session_by(session_id=uuid)[0].shoe_id

try:
shoe_name = crud_shoe.search_shoe_by(id=shoe_id)[0].name
except IndexError:
pass

notify.line.send_message(
message=f"{shoe_name} の乾燥が完了しました\nシューズキーパーを入れてください",
)

return None
except ValueError:
pass
21 changes: 12 additions & 9 deletions src/kb_2315/backend/api/endpoints/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@


@router.get("/")
def create_session(item: schema_session.create_session) -> UUID:
session_id: UUID = crud_session.add_session(shoe_id=item.shoe_id)
def create_session(shoe_id: int) -> schema_session.create_session:
shoe_name: str | None = "靴"

shoe_name: str | None = crud_shoe.search_shoe_by(id=item.shoe_id)[0].name
session_id: UUID = crud_session.add_session(shoe_id=shoe_id)

if not shoe_name:
shoe_name = "靴"
try:
shoe_name = crud_shoe.search_shoe_by(id=shoe_id)[0].name
except IndexError:
pass

notify.line.send_message(
message=f"{shoe_name} の乾燥を開始します",
)
if False:
notify.line.send_message(
message=f"{shoe_name} の乾燥を開始します",
)

return session_id
return schema_session.create_session(session_id=session_id)
6 changes: 3 additions & 3 deletions src/kb_2315/backend/api/endpoints/shoe.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

from kb_2315.backend.crud import crud_shoe
from kb_2315.backend.models import Shoe
from kb_2315.backend.schemas import shoe
from kb_2315.backend.schemas import schema_shoe


router = APIRouter()


@router.get("/")
def search_shoe(id: int | None = None, name: str | None = None) -> list[shoe]:
def search_shoe(id: int | None = None, name: str | None = None) -> list[schema_shoe.shoe]:
shoes: list[Shoe] = crud_shoe.search_shoe_by(id=id, name=name)

return [shoe(id=s.id, name=s.name) for s in shoes]
return [schema_shoe.shoe(id=s.id, name=s.name) for s in shoes]
4 changes: 2 additions & 2 deletions src/kb_2315/backend/api/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

api_router = APIRouter()

api_router.include_router(line.router, prefix="/line", tags=["hook"])
api_router.include_router(sensor.router, prefix="/sensor", tags=["hook"])
api_router.include_router(shoe.router, prefix="/shoe", tags=["hook"])
api_router.include_router(session.router, prefix="/session", tags=["hook"])
api_router.include_router(line.router, prefix="/", tags=["hook"])
api_router.include_router(shoe.router, prefix="/shoe", tags=["hook"])

0 comments on commit a06ba95

Please sign in to comment.