Files
skill-template/content-manager/content_manager/config.py
2026-04-04 10:35:02 +08:00

48 lines
1.3 KiB
Python

"""路径与环境:与 account-manager 一致的数据根目录。"""
from __future__ import annotations
import os
import sys
from typing import Optional
SKILL_SLUG = "content-manager"
def get_skill_root() -> str:
# content_manager/config.py -> 技能根 content-manager/
return os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def get_openclaw_root() -> str:
return os.path.dirname(get_skill_root())
def get_data_root() -> str:
env = (os.getenv("JIANGCHANG_DATA_ROOT") or "").strip()
if env:
return env
if sys.platform == "win32":
return r"D:\jiangchang-data"
return os.path.join(os.path.expanduser("~"), ".jiangchang-data")
def get_user_id() -> str:
return (os.getenv("JIANGCHANG_USER_ID") or "").strip() or "_anon"
def get_skill_data_dir() -> str:
path = os.path.join(get_data_root(), get_user_id(), SKILL_SLUG)
os.makedirs(path, exist_ok=True)
return path
def get_db_path() -> str:
return os.path.join(get_skill_data_dir(), "content-manager.db")
def resolve_stored_path(relative_file_path: str) -> str:
"""库内相对路径 -> 绝对路径。"""
rel = (relative_file_path or "").strip().replace("\\", "/").lstrip("/")
return os.path.normpath(os.path.join(get_skill_data_dir(), rel))