本篇目标:实现一个把“下载目录按扩展名归类”的小插件。
1. 建包与钩子
# 在 dsh 插件目录创建包,声明你在监听的文件事件钩子
from_path = hooks.on_file_downloaded
2. 核心逻辑
def classify(path):
ext = path.suffix.lower().lstrip('.')
target = MAP.get(ext, 'misc')
move_to(path, target)
3. 注册与启用
按官方 template 注册到 package.yaml,再 dsh install my-sort-file 一条命令启用。
4. 验证
扔几个测试文件,观察是否按映射归类;再补一两个异常分支:无后缀、只读目录、重名处理。
把这个练习跑通后,你就掌握了写一个实用插件的最小闭环。