🧑‍💻 使用 Ruff 包办所有格式化和检查 (#663)

This commit is contained in:
Azide
2024-12-17 10:52:21 +08:00
committed by GitHub
parent af1609730c
commit 08ad5c288c
126 changed files with 875 additions and 933 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
from .db_config import config as config
from .utils import NoSuchUserException as NoSuchUserException
from .utils import NoSuchTargetException as NoSuchTargetException
from .utils import NoSuchSubscribeException as NoSuchSubscribeException
from .utils import NoSuchTargetException as NoSuchTargetException
from .utils import NoSuchUserException as NoSuchUserException
+9 -8
View File
@@ -1,19 +1,20 @@
import os
from collections import defaultdict
from datetime import datetime
import json
import os
from os import path
from pathlib import Path
from datetime import datetime
from collections import defaultdict
from typing import Literal, TypedDict
from nonebot.log import logger
from tinydb import Query, TinyDB
from ..utils import Singleton
from ..types import User, Target
from ..platform import platform_manager
from ..plugin_config import plugin_config
from .utils import NoSuchUserException, NoSuchSubscribeException
from nonebot_bison.platform import platform_manager
from nonebot_bison.plugin_config import plugin_config
from nonebot_bison.types import Target, User
from nonebot_bison.utils import Singleton
from .utils import NoSuchSubscribeException, NoSuchUserException
supported_target_type = platform_manager.keys()
+11 -11
View File
@@ -1,20 +1,20 @@
import asyncio
from collections import defaultdict
from datetime import time, datetime
from collections.abc import Callable, Sequence, Awaitable
from collections.abc import Awaitable, Callable, Sequence
from datetime import datetime, time
from nonebot.compat import model_dump
from sqlalchemy.orm import selectinload
from sqlalchemy.exc import IntegrityError
from sqlalchemy import func, delete, select
from nonebot_plugin_saa import PlatformTarget
from nonebot_plugin_datastore import create_session
from nonebot_plugin_saa import PlatformTarget
from sqlalchemy import delete, func, select
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import selectinload
from ..types import Tag
from ..types import Target as T_Target
from .utils import NoSuchTargetException, DuplicateCookieTargetException
from .db_model import User, Cookie, Target, Subscribe, CookieTarget, ScheduleTimeWeight
from ..types import Category, UserSubInfo, WeightConfig, TimeWeightConfig, PlatformWeightConfigResp
from nonebot_bison.types import Category, PlatformWeightConfigResp, Tag, TimeWeightConfig, UserSubInfo, WeightConfig
from nonebot_bison.types import Target as T_Target
from .db_model import Cookie, CookieTarget, ScheduleTimeWeight, Subscribe, Target, User
from .utils import DuplicateCookieTargetException, NoSuchTargetException
def _get_time():
+3 -3
View File
@@ -1,11 +1,11 @@
from nonebot.log import logger
from nonebot.compat import model_dump
from nonebot.log import logger
from nonebot_plugin_datastore.db import get_engine
from sqlalchemy.ext.asyncio.session import AsyncSession
from nonebot_plugin_saa import TargetQQGroup, TargetQQPrivate
from sqlalchemy.ext.asyncio.session import AsyncSession
from .db_model import User, Target, Subscribe
from .config_legacy import Config, ConfigContent, drop
from .db_model import Subscribe, Target, User
async def data_migrate():
+6 -6
View File
@@ -1,15 +1,15 @@
import datetime
from typing import Any
from pathlib import Path
from typing import Any
from nonebot_plugin_saa import PlatformTarget
from sqlalchemy.dialects.postgresql import JSONB
from nonebot.compat import PYDANTIC_V2, ConfigDict
from nonebot_plugin_datastore import get_plugin_data
from sqlalchemy.orm import Mapped, relationship, mapped_column
from sqlalchemy import JSON, String, DateTime, ForeignKey, UniqueConstraint
from nonebot_plugin_saa import PlatformTarget
from sqlalchemy import JSON, DateTime, ForeignKey, String, UniqueConstraint
from sqlalchemy.dialects.postgresql import JSONB
from sqlalchemy.orm import Mapped, mapped_column, relationship
from ..types import Tag, Category
from nonebot_bison.types import Category, Tag
Model = get_plugin_data().Model
get_plugin_data().set_migration_dir(Path(__file__).parent / "migrations")
@@ -6,8 +6,8 @@ Create Date: 2022-03-21 19:18:13.762626
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "0571870f5222"
@@ -6,8 +6,8 @@ Create Date: 2022-03-27 21:50:10.911649
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "4a46ba54a3f3"
@@ -6,8 +6,8 @@ Create Date: 2022-05-31 22:05:13.235981
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "5f3370328e44"
@@ -6,8 +6,8 @@ Create Date: 2023-03-20 00:39:30.199915
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import JSONB
# revision identifiers, used by Alembic.
@@ -6,8 +6,8 @@ Create Date: 2023-03-20 11:08:42.883556
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import JSONB
# revision identifiers, used by Alembic.
@@ -6,8 +6,8 @@ Create Date: 2023-03-20 15:38:20.220599
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "8d3863e9d74b"
@@ -6,8 +6,8 @@ Create Date: 2022-03-29 21:01:38.213153
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "a333d6224193"
@@ -6,10 +6,10 @@ Create Date: 2023-03-20 01:14:42.623789
"""
import sqlalchemy as sa
from alembic import op
from sqlalchemy.orm import Session
import sqlalchemy as sa
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
# revision identifiers, used by Alembic.
revision = "a5466912fad0"
@@ -6,8 +6,8 @@ Create Date: 2023-03-09 19:10:42.168133
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "aceef470d69c"
@@ -6,11 +6,11 @@ Create Date: 2023-03-02 14:04:16.492133
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
from sqlalchemy import select
from sqlalchemy.orm import Session
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
# revision identifiers, used by Alembic.
revision = "bd92923c218f"
@@ -6,8 +6,8 @@ Create Date: 2024-09-23 10:03:30.593263
"""
import sqlalchemy as sa
from alembic import op
import sqlalchemy as sa
from sqlalchemy import Text
from sqlalchemy.dialects import postgresql
@@ -6,10 +6,10 @@ Create Date: 2023-08-25 00:20:51.511329
"""
import sqlalchemy as sa
from alembic import op
from sqlalchemy.orm import Session
import sqlalchemy as sa
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
# revision identifiers, used by Alembic.
revision = "f9baef347cc8"
@@ -3,4 +3,4 @@
from . import v1, v2, v3
from .base import NBESFBase
__all__ = ["v1", "v2", "v3", "NBESFBase"]
__all__ = ["NBESFBase", "v1", "v2", "v3"]
@@ -1,10 +1,10 @@
from abc import ABC
from pydantic import BaseModel
from nonebot.compat import PYDANTIC_V2, ConfigDict
from nonebot_plugin_saa.registries import AllSupportedPlatformTarget as UserInfo
from pydantic import BaseModel
from ....types import Tag, Category
from nonebot_bison.types import Category, Tag
class NBESFBase(BaseModel, ABC):
+12 -11
View File
@@ -1,17 +1,18 @@
"""nbesf is Nonebot Bison Enchangable Subscribes File! ver.1"""
from typing import Any
from functools import partial
from typing import Any
from nonebot.log import logger
from pydantic import BaseModel
from nonebot_plugin_saa import TargetQQGroup, TargetQQPrivate
from nonebot.compat import PYDANTIC_V2, ConfigDict, model_dump, type_validate_json, type_validate_python
from nonebot.log import logger
from nonebot_plugin_saa import TargetQQGroup, TargetQQPrivate
from pydantic import BaseModel, Field
from nonebot_bison.config.db_config import SubscribeDupException, config
from nonebot_bison.config.subs_io.utils import NBESFParseErr
from nonebot_bison.types import Category, Tag
from ..utils import NBESFParseErr
from ....types import Tag, Category
from .base import NBESFBase, SubReceipt
from ...db_config import SubscribeDupException, config
# ===== nbesf 定义格式 ====== #
NBESF_VERSION = 1
@@ -79,7 +80,7 @@ class SubGroup(
"""
version: int = NBESF_VERSION
groups: list[SubPack] = []
groups: list[SubPack] = Field(default_factory=list)
# ======================= #
@@ -108,11 +109,11 @@ async def subs_receipt_gen(nbesf_data: SubGroup):
try:
await config.add_subscribe(receipt.user, **model_dump(receipt, exclude={"user"}))
except SubscribeDupException:
logger.warning(f"!添加订阅条目 {repr(receipt)} 失败: 相同的订阅已存在")
logger.warning(f"!添加订阅条目 {receipt!r} 失败: 相同的订阅已存在")
except Exception as e:
logger.error(f"!添加订阅条目 {repr(receipt)} 失败: {repr(e)}")
logger.error(f"!添加订阅条目 {receipt!r} 失败: {e!r}")
else:
logger.success(f"添加订阅条目 {repr(receipt)} 成功!")
logger.success(f"添加订阅条目 {receipt!r} 成功!")
def nbesf_parser(raw_data: Any) -> SubGroup:
+12 -11
View File
@@ -1,17 +1,18 @@
"""nbesf is Nonebot Bison Enchangable Subscribes File! ver.2"""
from typing import Any
from functools import partial
from typing import Any
from nonebot.log import logger
from pydantic import BaseModel
from nonebot_plugin_saa.registries import AllSupportedPlatformTarget
from nonebot.compat import PYDANTIC_V2, ConfigDict, model_dump, type_validate_json, type_validate_python
from nonebot.log import logger
from nonebot_plugin_saa.registries import AllSupportedPlatformTarget
from pydantic import BaseModel, Field
from nonebot_bison.config.db_config import SubscribeDupException, config
from nonebot_bison.config.subs_io.utils import NBESFParseErr
from nonebot_bison.types import Category, Tag
from ..utils import NBESFParseErr
from ....types import Tag, Category
from .base import NBESFBase, SubReceipt
from ...db_config import SubscribeDupException, config
# ===== nbesf 定义格式 ====== #
NBESF_VERSION = 2
@@ -64,7 +65,7 @@ class SubGroup(NBESFBase):
"""
version: int = NBESF_VERSION
groups: list[SubPack] = []
groups: list[SubPack] = Field(default_factory=list)
# ======================= #
@@ -85,11 +86,11 @@ async def subs_receipt_gen(nbesf_data: SubGroup):
try:
await config.add_subscribe(receipt.user, **model_dump(receipt, exclude={"user"}))
except SubscribeDupException:
logger.warning(f"!添加订阅条目 {repr(receipt)} 失败: 相同的订阅已存在")
logger.warning(f"!添加订阅条目 {receipt!r} 失败: 相同的订阅已存在")
except Exception as e:
logger.error(f"!添加订阅条目 {repr(receipt)} 失败: {repr(e)}")
logger.error(f"!添加订阅条目 {receipt!r} 失败: {e!r}")
else:
logger.success(f"添加订阅条目 {repr(receipt)} 成功!")
logger.success(f"添加订阅条目 {receipt!r} 成功!")
def nbesf_parser(raw_data: Any) -> SubGroup:
+15 -16
View File
@@ -1,21 +1,20 @@
"""nbesf is Nonebot Bison Enchangable Subscribes File! ver.2"""
from typing import Any
from functools import partial
from typing import Any
from nonebot.log import logger
from pydantic import BaseModel
from nonebot_plugin_saa.registries import AllSupportedPlatformTarget
from nonebot.compat import PYDANTIC_V2, ConfigDict, model_dump, type_validate_json, type_validate_python
from nonebot.log import logger
from nonebot_plugin_saa.registries import AllSupportedPlatformTarget
from pydantic import BaseModel, Field
from nonebot_bison.types import Tag
from nonebot_bison.types import Category
from nonebot_bison.config.db_config import SubscribeDupException, config
from nonebot_bison.config.db_model import Cookie as DBCookie
from nonebot_bison.config.subs_io.utils import NBESFParseErr
from nonebot_bison.types import Category, Tag
from nonebot_bison.types import Target as T_Target
from ..utils import NBESFParseErr
from .base import NBESFBase, SubReceipt
from ...db_model import Cookie as DBCookie
from ...db_config import SubscribeDupException, config
# ===== nbesf 定义格式 ====== #
NBESF_VERSION = 3
@@ -80,8 +79,8 @@ class SubGroup(NBESFBase):
"""
version: int = NBESF_VERSION
groups: list[SubPack] = []
cookies: list[Cookie] = []
groups: list[SubPack] = Field(default_factory=list)
cookies: list[Cookie] = Field(default_factory=list)
# ======================= #
@@ -103,11 +102,11 @@ async def subs_receipt_gen(nbesf_data: SubGroup):
try:
await config.add_subscribe(receipt.user, **model_dump(receipt, exclude={"user"}))
except SubscribeDupException:
logger.warning(f"!添加订阅条目 {repr(receipt)} 失败: 相同的订阅已存在")
logger.warning(f"!添加订阅条目 {receipt!r} 失败: 相同的订阅已存在")
except Exception as e:
logger.error(f"!添加订阅条目 {repr(receipt)} 失败: {repr(e)}")
logger.error(f"!添加订阅条目 {receipt!r} 失败: {e!r}")
else:
logger.success(f"添加订阅条目 {repr(receipt)} 成功!")
logger.success(f"添加订阅条目 {receipt!r} 成功!")
async def magic_cookie_gen(nbesf_data: SubGroup):
@@ -119,9 +118,9 @@ async def magic_cookie_gen(nbesf_data: SubGroup):
for target in cookie.targets:
await config.add_cookie_target(T_Target(target.target), target.platform_name, cookie_id)
except Exception as e:
logger.error(f"!添加 Cookie 条目 {repr(cookie)} 失败: {repr(e)}")
logger.error(f"!添加 Cookie 条目 {cookie!r} 失败: {e!r}")
else:
logger.success(f"添加 Cookie 条目 {repr(cookie)} 成功!")
logger.success(f"添加 Cookie 条目 {cookie!r} 成功!")
def nbesf_parser(raw_data: Any) -> SubGroup:
+9 -8
View File
@@ -1,19 +1,20 @@
from typing import cast
from collections import defaultdict
from collections.abc import Callable
from typing import cast
from sqlalchemy import select
from nonebot.log import logger
from sqlalchemy.sql.selectable import Select
from nonebot_plugin_saa import PlatformTarget
from nonebot.compat import type_validate_python
from nonebot.log import logger
from nonebot_plugin_datastore.db import create_session
from nonebot_plugin_saa import PlatformTarget
from sqlalchemy import select
from sqlalchemy.orm.strategy_options import selectinload
from sqlalchemy.sql.selectable import Select
from nonebot_bison.config import config
from nonebot_bison.config.db_model import Cookie, CookieTarget, Subscribe, Target, User
from .. import config
from .utils import NBESFVerMatchErr, row2dict
from .nbesf_model import NBESFBase, v1, v2, v3
from ..db_model import User, Cookie, Target, Subscribe, CookieTarget
from .utils import NBESFVerMatchErr, row2dict
async def subscribes_export(selector: Callable[[Select], Select]) -> v3.SubGroup: