mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-10-31 12:45:41 +08:00
- docs/dev/plugins.md 改为总览与导航,旧内容拆入 docs/dev/plugins/ - 新增核心概念、配置表单、事件、前端挂载点、命令行、签名与分发、内置插件、示例页 - 每个扩展点一页,侧边栏由页面表生成 - 改正旧文档中下载器配置、hardlink path_map 与补链按钮的过时描述
30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# 検索サイト (search_site)
|
|
|
|
検索ボックスにサイトを追加します。`@provider(points.SEARCH_SITE, id=...)` は `SearchSite` を返します。`id` がサイト名です。
|
|
|
|
```python
|
|
from ab_sdk.search import SearchSite
|
|
|
|
@provider(points.SEARCH_SITE, id="my-site")
|
|
def site(self):
|
|
return SearchSite(url="https://example.com/rss?q=%s", parser="tmdb")
|
|
```
|
|
|
|
- `url` には `%s` がちょうど 1 つ必要です。AB はこれをキーワードに置き換えます(複数の語は `+` で連結します)。
|
|
- `parser` は検索結果を補完するメタデータソースを指定します:`mikan` または `tmdb`。
|
|
- ユーザーが検索設定で設定した同名のサイトは、プラグインのサイトより優先されます。
|
|
- サイトにログインが必要なときは、[`http.request` フック](/ja/dev/plugins/points/http-request) で Cookie を付けます。
|
|
|
|
## テスト
|
|
|
|
```python
|
|
from ab_sdk.testing import SearchSiteContract, create_plugin
|
|
|
|
class TestSite(SearchSiteContract):
|
|
def create(self):
|
|
plugin, _ = create_plugin(MyPlugin)
|
|
return plugin.site()
|
|
```
|
|
|
|
例:`examples/plugins/custom-rss-site`。
|