mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-28 04:26:24 +08:00
💥 remove deprecated export (#1125)
This commit is contained in:
parent
6583bc8c61
commit
1766d4da69
@ -29,7 +29,6 @@
|
|||||||
- `get_plugin_by_module_name` => {ref}``get_plugin_by_module_name` <nonebot.plugin.get_plugin_by_module_name>`
|
- `get_plugin_by_module_name` => {ref}``get_plugin_by_module_name` <nonebot.plugin.get_plugin_by_module_name>`
|
||||||
- `get_loaded_plugins` => {ref}``get_loaded_plugins` <nonebot.plugin.get_loaded_plugins>`
|
- `get_loaded_plugins` => {ref}``get_loaded_plugins` <nonebot.plugin.get_loaded_plugins>`
|
||||||
- `get_available_plugin_names` => {ref}``get_available_plugin_names` <nonebot.plugin.get_available_plugin_names>`
|
- `get_available_plugin_names` => {ref}``get_available_plugin_names` <nonebot.plugin.get_available_plugin_names>`
|
||||||
- `export` => {ref}``export` <nonebot.plugin.export.export>`
|
|
||||||
- `require` => {ref}``require` <nonebot.plugin.load.require>`
|
- `require` => {ref}``require` <nonebot.plugin.load.require>`
|
||||||
|
|
||||||
FrontMatter:
|
FrontMatter:
|
||||||
@ -262,7 +261,6 @@ def run(*args: Any, **kwargs: Any) -> None:
|
|||||||
|
|
||||||
|
|
||||||
from nonebot.plugin import on as on
|
from nonebot.plugin import on as on
|
||||||
from nonebot.plugin import export as export
|
|
||||||
from nonebot.plugin import require as require
|
from nonebot.plugin import require as require
|
||||||
from nonebot.plugin import on_regex as on_regex
|
from nonebot.plugin import on_regex as on_regex
|
||||||
from nonebot.plugin import on_notice as on_notice
|
from nonebot.plugin import on_notice as on_notice
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
- `load_from_toml` => {ref}``load_from_toml` <nonebot.plugin.load.load_from_toml>`
|
- `load_from_toml` => {ref}``load_from_toml` <nonebot.plugin.load.load_from_toml>`
|
||||||
- `load_builtin_plugin` => {ref}``load_builtin_plugin` <nonebot.plugin.load.load_builtin_plugin>`
|
- `load_builtin_plugin` => {ref}``load_builtin_plugin` <nonebot.plugin.load.load_builtin_plugin>`
|
||||||
- `load_builtin_plugins` => {ref}``load_builtin_plugins` <nonebot.plugin.load.load_builtin_plugins>`
|
- `load_builtin_plugins` => {ref}``load_builtin_plugins` <nonebot.plugin.load.load_builtin_plugins>`
|
||||||
- `export` => {ref}``export` <nonebot.plugin.export.export>`
|
|
||||||
- `require` => {ref}``require` <nonebot.plugin.load.require>`
|
- `require` => {ref}``require` <nonebot.plugin.load.require>`
|
||||||
|
|
||||||
FrontMatter:
|
FrontMatter:
|
||||||
@ -106,8 +105,6 @@ def get_available_plugin_names() -> Set[str]:
|
|||||||
|
|
||||||
from .on import on as on
|
from .on import on as on
|
||||||
from .manager import PluginManager
|
from .manager import PluginManager
|
||||||
from .export import Export as Export
|
|
||||||
from .export import export as export
|
|
||||||
from .load import require as require
|
from .load import require as require
|
||||||
from .on import on_regex as on_regex
|
from .on import on_regex as on_regex
|
||||||
from .plugin import Plugin as Plugin
|
from .plugin import Plugin as Plugin
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
"""本模块定义了插件导出的内容对象。
|
|
||||||
|
|
||||||
在新版插件系统中,推荐优先使用直接 import 所需要的插件内容。
|
|
||||||
|
|
||||||
FrontMatter:
|
|
||||||
sidebar_position: 4
|
|
||||||
description: nonebot.plugin.export 模块
|
|
||||||
"""
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
|
|
||||||
from . import _current_plugin_chain
|
|
||||||
|
|
||||||
|
|
||||||
class Export(dict):
|
|
||||||
"""插件导出内容以使得其他插件可以获得。
|
|
||||||
|
|
||||||
用法:
|
|
||||||
```python
|
|
||||||
nonebot.export().default = "bar"
|
|
||||||
|
|
||||||
@nonebot.export()
|
|
||||||
def some_function():
|
|
||||||
pass
|
|
||||||
|
|
||||||
# this doesn't work before python 3.9
|
|
||||||
# use
|
|
||||||
# export = nonebot.export(); @export.sub
|
|
||||||
# instead
|
|
||||||
# See also PEP-614: https://www.python.org/dev/peps/pep-0614/
|
|
||||||
@nonebot.export().sub
|
|
||||||
def something_else():
|
|
||||||
pass
|
|
||||||
```
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __call__(self, func, **kwargs):
|
|
||||||
self[func.__name__] = func
|
|
||||||
self.update(kwargs)
|
|
||||||
return func
|
|
||||||
|
|
||||||
def __setitem__(self, key, value):
|
|
||||||
super().__setitem__(key, Export(value) if isinstance(value, dict) else value)
|
|
||||||
|
|
||||||
def __setattr__(self, name, value):
|
|
||||||
self[name] = Export(value) if isinstance(value, dict) else value
|
|
||||||
|
|
||||||
def __getattr__(self, name):
|
|
||||||
if name not in self:
|
|
||||||
self[name] = Export()
|
|
||||||
return self[name]
|
|
||||||
|
|
||||||
|
|
||||||
def export() -> Export:
|
|
||||||
"""获取当前插件的导出内容对象"""
|
|
||||||
warnings.warn(
|
|
||||||
"nonebot.export() is deprecated. "
|
|
||||||
"See https://github.com/nonebot/nonebot2/issues/935.",
|
|
||||||
DeprecationWarning,
|
|
||||||
)
|
|
||||||
plugins = _current_plugin_chain.get()
|
|
||||||
if not plugins:
|
|
||||||
raise RuntimeError("Export outside of the plugin!")
|
|
||||||
return plugins[-1].export
|
|
@ -6,11 +6,11 @@ FrontMatter:
|
|||||||
"""
|
"""
|
||||||
import json
|
import json
|
||||||
import warnings
|
import warnings
|
||||||
|
from types import ModuleType
|
||||||
from typing import Set, Iterable, Optional
|
from typing import Set, Iterable, Optional
|
||||||
|
|
||||||
import tomlkit
|
import tomlkit
|
||||||
|
|
||||||
from .export import Export
|
|
||||||
from .plugin import Plugin
|
from .plugin import Plugin
|
||||||
from .manager import PluginManager
|
from .manager import PluginManager
|
||||||
from . import _managers, get_plugin, _module_name_to_plugin_name
|
from . import _managers, get_plugin, _module_name_to_plugin_name
|
||||||
@ -143,7 +143,7 @@ def _find_manager_by_name(name: str) -> Optional[PluginManager]:
|
|||||||
return manager
|
return manager
|
||||||
|
|
||||||
|
|
||||||
def require(name: str) -> Export:
|
def require(name: str) -> ModuleType:
|
||||||
"""获取一个插件的导出内容。
|
"""获取一个插件的导出内容。
|
||||||
|
|
||||||
如果为 `load_plugins` 文件夹导入的插件,则为文件(夹)名。
|
如果为 `load_plugins` 文件夹导入的插件,则为文件(夹)名。
|
||||||
@ -163,4 +163,4 @@ def require(name: str) -> Export:
|
|||||||
plugin = load_plugin(name)
|
plugin = load_plugin(name)
|
||||||
if not plugin:
|
if not plugin:
|
||||||
raise RuntimeError(f'Cannot load plugin "{name}"!')
|
raise RuntimeError(f'Cannot load plugin "{name}"!')
|
||||||
return plugin.export
|
return plugin.module
|
||||||
|
@ -12,7 +12,6 @@ from pydantic import BaseModel
|
|||||||
|
|
||||||
from nonebot.matcher import Matcher
|
from nonebot.matcher import Matcher
|
||||||
|
|
||||||
from .export import Export
|
|
||||||
from . import _plugins as plugins # FIXME: backport for nonebug
|
from . import _plugins as plugins # FIXME: backport for nonebug
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@ -46,8 +45,6 @@ class Plugin:
|
|||||||
"""点分割模块路径"""
|
"""点分割模块路径"""
|
||||||
manager: "PluginManager"
|
manager: "PluginManager"
|
||||||
"""导入该插件的插件管理器"""
|
"""导入该插件的插件管理器"""
|
||||||
export: Export = field(default_factory=Export)
|
|
||||||
"""**Deprecated:** 插件内定义的导出内容"""
|
|
||||||
matcher: Set[Type[Matcher]] = field(default_factory=set)
|
matcher: Set[Type[Matcher]] = field(default_factory=set)
|
||||||
"""插件内定义的 `Matcher`"""
|
"""插件内定义的 `Matcher`"""
|
||||||
parent_plugin: Optional["Plugin"] = None
|
parent_plugin: Optional["Plugin"] = None
|
||||||
|
@ -1,6 +1,2 @@
|
|||||||
from nonebot import export
|
|
||||||
|
|
||||||
|
|
||||||
@export()
|
|
||||||
def test():
|
def test():
|
||||||
return "export"
|
return "export"
|
||||||
|
Loading…
Reference in New Issue
Block a user