From d28f3ed74baeba231ad9fc19b44a5d486f1a368f Mon Sep 17 00:00:00 2001 From: WangEdward <73746306+WangEdward@users.noreply.github.com> Date: Fri, 23 Feb 2024 23:55:32 +0800 Subject: [PATCH 1/3] feat: add search_imdbid for subscribe --- app/db/models/subscribe.py | 2 ++ app/schemas/subscribe.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/db/models/subscribe.py b/app/db/models/subscribe.py index 3d2d3344..7e74b1eb 100644 --- a/app/db/models/subscribe.py +++ b/app/db/models/subscribe.py @@ -67,6 +67,8 @@ class Subscribe(Base): current_priority = Column(Integer) # 保存路径 save_path = Column(String) + # 是否使用 imdbid 搜索 + search_imdbid = Column(Integer, default=0) @staticmethod @db_query diff --git a/app/schemas/subscribe.py b/app/schemas/subscribe.py index e6054e5e..1249adf2 100644 --- a/app/schemas/subscribe.py +++ b/app/schemas/subscribe.py @@ -59,6 +59,8 @@ class Subscribe(BaseModel): current_priority: Optional[int] = None # 保存路径 save_path: Optional[str] = None + # 是否使用 imdbid 搜索 + search_imdbid: Optional[int] = 0 class Config: orm_mode = True From b8553e2b864d72e0cfde5b539e035904d559adfd Mon Sep 17 00:00:00 2001 From: WangEdward <73746306+WangEdward@users.noreply.github.com> Date: Sat, 24 Feb 2024 00:14:44 +0800 Subject: [PATCH 2/3] feat: add search_imdbid in subscribe api --- app/api/endpoints/subscribe.py | 7 ++++--- app/chain/subscribe.py | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/api/endpoints/subscribe.py b/app/api/endpoints/subscribe.py index 14dde24a..a1ce1473 100644 --- a/app/api/endpoints/subscribe.py +++ b/app/api/endpoints/subscribe.py @@ -83,10 +83,11 @@ def create_subscribe( username=current_user.name, best_version=subscribe_in.best_version, save_path=subscribe_in.save_path, + search_imdbid=subscribe_in.search_imdbid, exist_ok=True) - return schemas.Response(success=True if sid else False, message=message, data={ - "id": sid - }) + return schemas.Response( + success=bool(sid), message=message, data={"id": sid} + ) @router.put("/", summary="更新订阅", response_model=schemas.Response) diff --git a/app/chain/subscribe.py b/app/chain/subscribe.py index 305fb637..8f315dd8 100644 --- a/app/chain/subscribe.py +++ b/app/chain/subscribe.py @@ -279,7 +279,8 @@ class SubscribeChain(ChainBase): no_exists=no_exists, sites=sites, priority_rule=priority_rule, - filter_rule=filter_rule) + filter_rule=filter_rule, + area="imdbid" if subscribe.search_imdbid else "title") if not contexts: logger.warn(f'订阅 {subscribe.keyword or subscribe.name} 未搜索到资源') self.finish_subscribe_or_not(subscribe=subscribe, meta=meta, From a5b4221a00af92ae8b7b2d57b71b54394ddf3509 Mon Sep 17 00:00:00 2001 From: Edward <73746306+WangEdward@users.noreply.github.com> Date: Sat, 24 Feb 2024 09:36:04 +0000 Subject: [PATCH 3/3] fix: db migration for search_imdbid --- database/versions/127a25fdf0e8_1_0_13.py | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 database/versions/127a25fdf0e8_1_0_13.py diff --git a/database/versions/127a25fdf0e8_1_0_13.py b/database/versions/127a25fdf0e8_1_0_13.py new file mode 100644 index 00000000..f98dedfc --- /dev/null +++ b/database/versions/127a25fdf0e8_1_0_13.py @@ -0,0 +1,30 @@ +"""1.0.13 + +Revision ID: 127a25fdf0e8 +Revises: d71e624f0208 +Create Date: 2024-02-24 03:11:32.005540 + +""" + +import contextlib +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '127a25fdf0e8' +down_revision = 'd71e624f0208' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with contextlib.suppress(Exception): + with op.batch_alter_table("subscribe") as batch_op: + batch_op.add_column(sa.Column('search_imdbid', sa.Integer, nullable=True)) + # ### end Alembic commands ### + + +def downgrade() -> None: + pass