From 0a7337a313bf98ca12940476c55424d5ba6bb7d8 Mon Sep 17 00:00:00 2001 From: Adrien Date: Sun, 22 Oct 2023 23:31:35 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Put=20api=5Fserver=20a?= =?UTF-8?q?nd=20db=5Fupdater=20scripts=20on=20the=20backend=20root?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/{Dockerfile.api => Dockerfile.api_server} | 4 +++- backend/Dockerfile.db_updater | 5 +++-- backend/{api/main.py => api_server.py} | 6 +++--- backend/{api => }/config.local.yaml | 0 backend/{api => }/config.sample.yaml | 0 backend/{db_updater/fill_db.py => db_updater.py} | 0 6 files changed, 9 insertions(+), 6 deletions(-) rename backend/{Dockerfile.api => Dockerfile.api_server} (89%) rename backend/{api/main.py => api_server.py} (95%) rename backend/{api => }/config.local.yaml (100%) rename backend/{api => }/config.sample.yaml (100%) rename backend/{db_updater/fill_db.py => db_updater.py} (100%) diff --git a/backend/Dockerfile.api b/backend/Dockerfile.api_server similarity index 89% rename from backend/Dockerfile.api rename to backend/Dockerfile.api_server index 3ec23d4..273ac51 100644 --- a/backend/Dockerfile.api +++ b/backend/Dockerfile.api_server @@ -30,5 +30,7 @@ env VIRTUAL_ENV=/app/.venv \ COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV} COPY api /app/api +COPY config.sample.yaml . +COPY api_server.py . -CMD ["python", "./api/main.py"] +CMD ["./api_server.py"] diff --git a/backend/Dockerfile.db_updater b/backend/Dockerfile.db_updater index 3dcfbf1..59053ee 100644 --- a/backend/Dockerfile.db_updater +++ b/backend/Dockerfile.db_updater @@ -35,6 +35,7 @@ env VIRTUAL_ENV=/app/.venv \ COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV} COPY api /app/api -COPY db_updater /app/db_updater +COPY config.sample.yaml . +COPY db_updater.py . -CMD ["python", "-m", "db_updater.fill_db"] +CMD ["./db_updater.py"] diff --git a/backend/api/main.py b/backend/api_server.py similarity index 95% rename from backend/api/main.py rename to backend/api_server.py index bcbaaaa..c16b406 100755 --- a/backend/api/main.py +++ b/backend/api_server.py @@ -12,9 +12,9 @@ from opentelemetry.sdk.resources import Resource, SERVICE_NAME from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor -from db import db -from dependencies import idfm_interface, redis_backend, settings -from routers import line, stop +from api.db import db +from api.dependencies import idfm_interface, redis_backend, settings +from api.routers import line, stop @asynccontextmanager diff --git a/backend/api/config.local.yaml b/backend/config.local.yaml similarity index 100% rename from backend/api/config.local.yaml rename to backend/config.local.yaml diff --git a/backend/api/config.sample.yaml b/backend/config.sample.yaml similarity index 100% rename from backend/api/config.sample.yaml rename to backend/config.sample.yaml diff --git a/backend/db_updater/fill_db.py b/backend/db_updater.py similarity index 100% rename from backend/db_updater/fill_db.py rename to backend/db_updater.py From 1bb75b28eb8bdb958b4e0e053787fb67f7091080 Mon Sep 17 00:00:00 2001 From: Adrien Date: Sun, 22 Oct 2023 23:34:58 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Use=20of=20relative=20?= =?UTF-8?q?imports=20for=20api=20modules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/api/db/db.py | 2 +- backend/api/dependencies.py | 6 +++--- backend/api/idfm_interface/idfm_interface.py | 4 ++-- backend/api/models/line.py | 4 ++-- backend/api/models/stop.py | 4 ++-- backend/api/models/user.py | 2 +- backend/api/routers/line.py | 4 ++-- backend/api/routers/stop.py | 8 ++++---- backend/api/schemas/line.py | 2 +- backend/api/schemas/next_passage.py | 2 +- backend/api/schemas/stop.py | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/backend/api/db/db.py b/backend/api/db/db.py index bd4f840..0dac1b1 100644 --- a/backend/api/db/db.py +++ b/backend/api/db/db.py @@ -14,7 +14,7 @@ from sqlalchemy.ext.asyncio import ( ) from .base_class import Base -from settings import DatabaseSettings +from ..settings import DatabaseSettings logger = getLogger(__name__) diff --git a/backend/api/dependencies.py b/backend/api/dependencies.py index ecf6c11..ce95905 100644 --- a/backend/api/dependencies.py +++ b/backend/api/dependencies.py @@ -4,9 +4,9 @@ from fastapi_cache.backends.redis import RedisBackend from redis import asyncio as aioredis from yaml import safe_load -from db import db -from idfm_interface.idfm_interface import IdfmInterface -from settings import CacheSettings, Settings +from .db import db +from .idfm_interface.idfm_interface import IdfmInterface +from .settings import CacheSettings, Settings CONFIG_PATH = environ.get("CONFIG_PATH", "./config.sample.yaml") diff --git a/backend/api/idfm_interface/idfm_interface.py b/backend/api/idfm_interface/idfm_interface.py index 23de96b..d86284e 100644 --- a/backend/api/idfm_interface/idfm_interface.py +++ b/backend/api/idfm_interface/idfm_interface.py @@ -8,8 +8,8 @@ from msgspec import ValidationError from msgspec.json import Decoder from .idfm_types import Destinations as IdfmDestinations, IdfmResponse, IdfmState -from db import Database -from models import Line, Stop, StopArea +from ..db import Database +from ..models import Line, Stop, StopArea class IdfmInterface: diff --git a/backend/api/models/line.py b/backend/api/models/line.py index ce0f2a5..786c585 100644 --- a/backend/api/models/line.py +++ b/backend/api/models/line.py @@ -14,8 +14,8 @@ from sqlalchemy import ( from sqlalchemy.orm import Mapped, mapped_column, relationship, selectinload from sqlalchemy.sql.expression import tuple_ -from db import Base, db -from idfm_interface.idfm_types import ( +from ..db import Base, db +from ..idfm_interface.idfm_types import ( IdfmState, IdfmLineState, TransportMode, diff --git a/backend/api/models/stop.py b/backend/api/models/stop.py index 02087cc..05e05e2 100644 --- a/backend/api/models/stop.py +++ b/backend/api/models/stop.py @@ -26,8 +26,8 @@ from sqlalchemy.orm import ( from sqlalchemy.schema import Index from sqlalchemy_utils.types.ts_vector import TSVectorType -from db import Base, db -from idfm_interface.idfm_types import TransportMode, IdfmState, StopAreaType +from ..db import Base, db +from ..idfm_interface.idfm_types import TransportMode, IdfmState, StopAreaType if TYPE_CHECKING: from .line import Line diff --git a/backend/api/models/user.py b/backend/api/models/user.py index 62bbc28..24a152c 100644 --- a/backend/api/models/user.py +++ b/backend/api/models/user.py @@ -1,7 +1,7 @@ from sqlalchemy import BigInteger, ForeignKey, String from sqlalchemy.orm import Mapped, mapped_column, relationship -from db import Base, db +from ..db import Base, db from .stop import _Stop diff --git a/backend/api/routers/line.py b/backend/api/routers/line.py index 5325d15..4256725 100644 --- a/backend/api/routers/line.py +++ b/backend/api/routers/line.py @@ -1,8 +1,8 @@ from fastapi import APIRouter, HTTPException from fastapi_cache.decorator import cache -from models import Line -from schemas import Line as LineSchema, TransportMode +from ..models import Line +from ..schemas import Line as LineSchema, TransportMode router = APIRouter(prefix="/line", tags=["line"]) diff --git a/backend/api/routers/stop.py b/backend/api/routers/stop.py index caafb99..2f6e726 100644 --- a/backend/api/routers/stop.py +++ b/backend/api/routers/stop.py @@ -5,16 +5,16 @@ from typing import Sequence from fastapi import APIRouter, HTTPException from fastapi_cache.decorator import cache -from idfm_interface import Destinations as IdfmDestinations, TrainStatus -from models import Stop, StopArea, StopShape -from schemas import ( +from ..idfm_interface import Destinations as IdfmDestinations, TrainStatus +from ..models import Stop, StopArea, StopShape +from ..schemas import ( NextPassage as NextPassageSchema, NextPassages as NextPassagesSchema, Stop as StopSchema, StopArea as StopAreaSchema, StopShape as StopShapeSchema, ) -from dependencies import idfm_interface +from ..dependencies import idfm_interface router = APIRouter(prefix="/stop", tags=["stop"]) diff --git a/backend/api/schemas/line.py b/backend/api/schemas/line.py index 1182bcd..69f29bc 100644 --- a/backend/api/schemas/line.py +++ b/backend/api/schemas/line.py @@ -2,7 +2,7 @@ from enum import StrEnum from pydantic import BaseModel -from idfm_interface import ( +from ..idfm_interface import ( IdfmLineState, IdfmState, TransportMode as IdfmTransportMode, diff --git a/backend/api/schemas/next_passage.py b/backend/api/schemas/next_passage.py index 1035393..e895190 100644 --- a/backend/api/schemas/next_passage.py +++ b/backend/api/schemas/next_passage.py @@ -1,6 +1,6 @@ from pydantic import BaseModel -from idfm_interface.idfm_types import TrainStatus +from ..idfm_interface.idfm_types import TrainStatus class NextPassage(BaseModel): diff --git a/backend/api/schemas/stop.py b/backend/api/schemas/stop.py index e323d8d..78581ac 100644 --- a/backend/api/schemas/stop.py +++ b/backend/api/schemas/stop.py @@ -1,6 +1,6 @@ from pydantic import BaseModel -from idfm_interface import StopAreaType +from ..idfm_interface import StopAreaType class Stop(BaseModel):