Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions nonebot_plugin_localstore/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
from typing import Callable, Optional
from typing_extensions import ParamSpec

from nonebot import get_driver
from nonebot.plugin import PluginMetadata

from .config import Config
from .data_source import user_data_dir, user_cache_dir, user_config_dir

__plugin_meta__ = PluginMetadata(
Expand All @@ -21,16 +23,30 @@
),
type="library",
homepage="https://github.com/nonebot/plugin-localstore",
config=None,
config=Config,
supported_adapters=None,
)

plugin_config = Config.parse_obj(get_driver().config)

P = ParamSpec("P")

APP_NAME = "nonebot2"
BASE_CACHE_DIR = user_cache_dir(APP_NAME).resolve()
BASE_CONFIG_DIR = user_config_dir(APP_NAME).resolve()
BASE_DATA_DIR = user_data_dir(APP_NAME).resolve()
BASE_CACHE_DIR = (
user_cache_dir(APP_NAME).resolve()
if plugin_config.localstore_cache_dir is None
else plugin_config.localstore_cache_dir.resolve()
)
BASE_CONFIG_DIR = (
user_config_dir(APP_NAME).resolve()
if plugin_config.localstore_config_dir is None
else plugin_config.localstore_config_dir.resolve()
)
BASE_DATA_DIR = (
user_data_dir(APP_NAME).resolve()
if plugin_config.localstore_data_dir is None
else plugin_config.localstore_data_dir.resolve()
)


def _ensure_dir(path: Path) -> None:
Expand Down
10 changes: 10 additions & 0 deletions nonebot_plugin_localstore/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from pathlib import Path
from typing import Optional

from pydantic import Extra, BaseModel


class Config(BaseModel, extra=Extra.ignore):
localstore_cache_dir: Optional[Path] = None
localstore_config_dir: Optional[Path] = None
localstore_data_dir: Optional[Path] = None