mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2026-06-23 05:56:51 +08:00
🧑💻 使用 Ruff 包办所有格式化和检查 (#663)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user