From ee1d241d2371a930c0305510ca27be58fc4933a2 Mon Sep 17 00:00:00 2001 From: Jakub Miazek Date: Mon, 10 Apr 2023 21:42:13 +0200 Subject: [PATCH] format --- app/api/nonsense.py | 14 +++++++++++--- app/config.py | 1 + app/models/base.py | 8 ++------ app/models/nonsense.py | 4 +--- app/models/shakespeare.py | 28 ++++++---------------------- 5 files changed, 21 insertions(+), 34 deletions(-) diff --git a/app/api/nonsense.py b/app/api/nonsense.py index 2638b48..7cf7ac6 100644 --- a/app/api/nonsense.py +++ b/app/api/nonsense.py @@ -9,9 +9,7 @@ router = APIRouter(prefix="/v1/nonsense") @router.post("/", status_code=status.HTTP_201_CREATED, response_model=NonsenseResponse) -async def create_nonsense( - payload: NonsenseSchema, db_session: AsyncSession = Depends(get_db) -): +async def create_nonsense(payload: NonsenseSchema, db_session: AsyncSession = Depends(get_db)): nonsense = Nonsense(**payload.dict()) await nonsense.save(db_session) return nonsense @@ -40,3 +38,13 @@ async def update_nonsense( nonsense = await Nonsense.find(db_session, name) await nonsense.update(db_session, **payload.dict()) return nonsense + + +@router.post("/", response_model=NonsenseResponse) +async def merge_nonsense( + payload: NonsenseSchema, + db_session: AsyncSession = Depends(get_db), +): + nonsense = Nonsense(**payload.dict()) + await nonsense.save_or_update(db_session) + return nonsense diff --git a/app/config.py b/app/config.py index 096d9b6..ded6e05 100644 --- a/app/config.py +++ b/app/config.py @@ -19,4 +19,5 @@ class Settings(BaseSettings): def get_settings(): return Settings() + settings = get_settings() diff --git a/app/models/base.py b/app/models/base.py index e359aad..028e0fe 100644 --- a/app/models/base.py +++ b/app/models/base.py @@ -38,9 +38,7 @@ class Base: db_session.add(self) return await db_session.commit() except SQLAlchemyError as ex: - raise HTTPException( - status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=repr(ex) - ) from ex + raise HTTPException(status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=repr(ex)) from ex async def delete(self, db_session: AsyncSession): """ @@ -53,9 +51,7 @@ class Base: await db_session.commit() return True except SQLAlchemyError as ex: - raise HTTPException( - status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=repr(ex) - ) from ex + raise HTTPException(status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=repr(ex)) from ex async def update(self, db_session: AsyncSession, **kwargs): """ diff --git a/app/models/nonsense.py b/app/models/nonsense.py index ffeb493..5f4477d 100644 --- a/app/models/nonsense.py +++ b/app/models/nonsense.py @@ -29,9 +29,7 @@ class Nonsense(Base): if instance is None: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, - detail={ - "Record not found": f"There is no record for requested name value : {name}" - }, + detail={"Record not found": f"There is no record for requested name value : {name}"}, ) else: return instance diff --git a/app/models/shakespeare.py b/app/models/shakespeare.py index b4e0d65..a42dd9e 100644 --- a/app/models/shakespeare.py +++ b/app/models/shakespeare.py @@ -31,9 +31,7 @@ class Character(Base): abbrev = Column(String(32)) description = Column(String(2056)) - work = relationship( - "Work", secondary="shakespeare.character_work", back_populates="character" - ) + work = relationship("Work", secondary="shakespeare.character_work", back_populates="character") paragraph = relationship("Paragraph", back_populates="character") @@ -68,9 +66,7 @@ class Work(Base): total_paragraphs = Column(Integer, nullable=False) notes = Column(Text) - character = relationship( - "Character", secondary="shakespeare.character_work", back_populates="work" - ) + character = relationship("Character", secondary="shakespeare.character_work", back_populates="work") chapter = relationship("Chapter", back_populates="work") paragraph = relationship("Paragraph", back_populates="work") @@ -78,9 +74,7 @@ class Work(Base): class Chapter(Base): __tablename__ = "chapter" __table_args__ = ( - ForeignKeyConstraint( - ["work_id"], ["shakespeare.work.id"], name="chapter_work_id_fkey" - ), + ForeignKeyConstraint(["work_id"], ["shakespeare.work.id"], name="chapter_work_id_fkey"), PrimaryKeyConstraint("id", name="chapter_pkey"), UniqueConstraint( "work_id", @@ -111,9 +105,7 @@ t_character_work = Table( ["shakespeare.character.id"], name="character_work_character_id_fkey", ), - ForeignKeyConstraint( - ["work_id"], ["shakespeare.work.id"], name="character_work_work_id_fkey" - ), + ForeignKeyConstraint(["work_id"], ["shakespeare.work.id"], name="character_work_work_id_fkey"), PrimaryKeyConstraint("character_id", "work_id", name="character_work_pkey"), schema="shakespeare", ) @@ -136,9 +128,7 @@ class Paragraph(Base): ], name="paragraph_chapter_fkey", ), - ForeignKeyConstraint( - ["work_id"], ["shakespeare.work.id"], name="paragraph_work_id_fkey" - ), + ForeignKeyConstraint(["work_id"], ["shakespeare.work.id"], name="paragraph_work_id_fkey"), PrimaryKeyConstraint("id", name="paragraph_pkey"), {"schema": "shakespeare"}, ) @@ -162,13 +152,7 @@ class Paragraph(Base): @classmethod async def find(cls, db_session: AsyncSession, character: str): - stmt = ( - select(cls) - .join(Character) - .join(Chapter) - .join(Work) - .where(Character.name == character) - ) + stmt = select(cls).join(Character).join(Chapter).join(Work).where(Character.name == character) result = await db_session.execute(stmt) instance = result.scalars().all() return instance