Skip to content

Commit

Permalink
fix: update creart (#247)
Browse files Browse the repository at this point in the history
* fix: update graia-broadcast to 0.22.1

* fix: update creart

* chore: update dependencies

* 📝 update changelog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
ProgramRipper and pre-commit-ci[bot] committed Aug 5, 2023
1 parent 72b1de9 commit 66c20f9
Show file tree
Hide file tree
Showing 8 changed files with 402 additions and 195 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## 未发布的更新

### 修复

- 通过 `creart` 获得 `asyncio.AbstractEventLoop`
- 提高 graia 基建依赖版本

## 0.11.6

### 修复
Expand Down
556 changes: 378 additions & 178 deletions pdm.lock

Large diffs are not rendered by default.

21 changes: 10 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ authors = [
]
requires-python = ">=3.8,<4.0"
dependencies = [
"graia-broadcast>=0.19,<0.21",
"graia-broadcast~=0.23.0",
"aiohttp~=3.8",
"pydantic~=1.9",
"typing-extensions>=4.4,<5.0",
"graia-amnesia~=0.7.0",
"creart-graia==0.1.5",
"launart~=0.6.2",
"launart>=0.6.4,<0.7",
"packaging>=23.0",
"creart~=0.3.0",
]
name = "graia-ariadne"
description = "Another elegant Python QQ Bot framework for mirai and mirai-api-http v2."
Expand Down Expand Up @@ -46,10 +46,10 @@ commander = "graia.ariadne.message.commander.creart:CommanderCreator"
commander_behaviour = "graia.ariadne.message.commander.creart:CommanderBehaviourCreator"

[project.optional-dependencies]
standard = ["richuru~=0.1", "graia-scheduler~=0.1.1", "graia-saya~=0.0"]
graia = ["graia-scheduler~=0.1.1", "graia-saya~=0.0"]
standard = ["richuru~=0.1", "graia-scheduler~=0.2.0", "graia-saya~=0.0.18"]
graia = ["graia-scheduler~=0.2.0", "graia-saya~=0.0.18"]
fastapi = ["fastapi<1.0.0,>=0.74.1", "uvicorn[standard]<1.0.0,>=0.17.5"]
full = ["richuru~=0.1", "graia-scheduler~=0.1.1", "graia-saya~=0.0"]
full = ["richuru~=0.1", "graia-scheduler~=0.2.0", "graia-saya~=0.0.18"]

[tool.pdm]

Expand All @@ -68,10 +68,10 @@ dev = [
"mkdocs-literate-nav<1.0.0,>=0.4.1",
"ipykernel<7.0.0,>=6.15.1",
"richuru<1.0.0,>=0.1.1",
"graia-scheduler<1.0,>=0.0",
"graia-scheduler<1.0,>=0.2",
"fastapi<1.0.0,>=0.79.0",
"uvicorn[standard]<1.0.0,>=0.18.2",
"graia-saya>=0.0.16",
"graia-saya>=0.0.18",
"ruff>=0.0.132",
]

Expand All @@ -83,8 +83,8 @@ source = "file"
path = "src/graia/ariadne/__init__.py"

[build-system]
requires = ["pdm-pep517>=1.0.0"]
build-backend = "pdm.pep517.api"
requires = ["pdm-backend"]
build-backend = "pdm.backend"

[tool.black]
line-length = 110
Expand Down Expand Up @@ -154,7 +154,6 @@ extend-exclude = [
"gen_ref.py",
"extract-release-notes.py"
]
per-file-ignores = {}

target-version = "py38"

Expand Down
2 changes: 1 addition & 1 deletion src/graia/ariadne/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ def launch_blocking(cls, stop_signals: Iterable[signal.Signals] = (signal.SIGINT
raise ValueError("No account specified.")
cls._patch_launch_manager()
try:
cls.launch_manager.launch_blocking(loop=cls.service.loop, stop_signal=stop_signals)
cls.launch_manager.launch_blocking(stop_signal=stop_signals)
except asyncio.CancelledError:
logger.info("Launch manager exited.", style="red")

Expand Down
6 changes: 4 additions & 2 deletions src/graia/ariadne/console/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
注意, 本实现并不 robust, 但是可以使用
"""

import asyncio
import contextlib
import importlib.metadata
import sys
from asyncio.events import AbstractEventLoop
from asyncio.tasks import Task
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union

from creart import it
from loguru import logger
from prompt_toolkit.formatted_text import AnyFormattedText
from prompt_toolkit.patch_stdout import StdoutProxy
Expand Down Expand Up @@ -173,7 +175,7 @@ async def catch(self, interface: DispatcherInterface):
if interface.annotation is Broadcast:
return self.console.broadcast
if interface.annotation is AbstractEventLoop:
return self.console.broadcast.loop
return asyncio.get_running_loop()

while self.running:
try:
Expand Down Expand Up @@ -214,7 +216,7 @@ def start(self):
logger.remove(0)
self.handler_id = logger.add(StdoutProxy(raw=True)) # type: ignore

self.task = self.broadcast.loop.create_task(self.loop())
self.task = it(AbstractEventLoop).create_task(self.loop())

def stop(self):
"""提示 Console 停止, 非异步, 幂等"""
Expand Down
2 changes: 1 addition & 1 deletion src/graia/ariadne/dispatcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async def catch(interface: DispatcherInterface):
return Ariadne.service.broadcast

if generic_issubclass(asyncio.AbstractEventLoop, interface.annotation):
return Ariadne.service.broadcast.loop
return Ariadne.service.loop

if generic_issubclass(Ariadne, interface.annotation):
return Ariadne.current()
Expand Down
2 changes: 1 addition & 1 deletion src/graia/ariadne/message/commander/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ def push_pending(index: int, nxt: MatchNode[CommandEntry], params: Tuple[ChainCo
tasks: List[asyncio.Task] = []
for entry, param in execution:
commander_param_ctx.set(param)
tasks.append(self.broadcast.loop.create_task(self.broadcast.Executor(entry, dispatchers)))
tasks.append(asyncio.create_task(self.broadcast.Executor(entry, dispatchers)))
done, _ = await asyncio.wait(tasks)
for task in done:
if task.exception() and isinstance(task.exception(), PropagationCancelled):
Expand Down
3 changes: 2 additions & 1 deletion src/graia/ariadne/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Coroutine, Dict, Iterable, List, Tuple, Type, overload

from aiohttp import ClientSession
from creart import it
from launart import Launart, Service
from loguru import logger
from packaging.version import Version
Expand Down Expand Up @@ -242,7 +243,7 @@ def loop(self) -> asyncio.AbstractEventLoop:
Returns:
asyncio.AbstractEventLoop: 事件循环
"""
return self.broadcast.loop
return it(asyncio.AbstractEventLoop)

@overload
def get_interface(self, interface_type: Type[ConnectionInterface]) -> ConnectionInterface:
Expand Down

0 comments on commit 66c20f9

Please sign in to comment.