1 个不稳定版本
0.1.0 | 2019 年 11 月 8 日 |
---|
#1149 in 文件系统
24KB
146 行
comic-book-binder (cbb)
此软件旨在帮助您管理漫画书库。它负责处理每本书的页面重命名,确保无论操作系统或阅读文件的软件如何,页面都处于相同的顺序。为此,页面的文件名中的“数字”部分用0填充,这样我们就不会有像 1.png, 10.png, 11.png, 100.png, 2.png, 20.png,…
这样奇怪的排序。
状态
该软件仍处于早期开发阶段。我正在用它来学习 Rust 编程语言。请随时给我反馈,告诉我如何编写更符合 Rust 习惯的代码。
用法
使用此程序最简单的方法是直接在漫画文件夹上调用它。这样它将确保页面格式化正确,前面有足够的 0 填充数字部分。
$ cbb comic/
您可能想自定义前导 0 的数量,这在您计划稍后添加更多页面时很有用。
$ cbb comic/ --pad=3 --dry-run
1.png -> 001.png
8.png -> 008.png
3.png -> 003.png
4.png -> 004.png
6.png -> 006.png
2.png -> 002.png
9.png -> 009.png
5.png -> 005.png
11.png -> 011.png
7.png -> 007.png
10.png -> 010.png
待办事项
- 添加测试:我不习惯在项目中创建测试(单元测试和集成测试)
- 添加测试:寻求帮助:我如何测试对文件系统的操作?
- 添加一些生活品质功能
- 试运行:显示文件将如何更改,而不进行任何修改
- 递归性:用户选择一个“库”文件夹,其中的每个子文件夹都视为一个漫画书(或其他库)
- 前缀(名称模式?):允许用户设置页面的前缀:当名称包含数字时很有用:“Name-Season5-Chapter02-Page10.png” => 前缀 = "Name-Season5-Chapter02-Page"
- 从文件名中推断前缀:尝试找到不变的部分和递增的数字(很好,但不一定常用)
- 重命名:完全删除当前文件名,并用基于跨平台编号的命名来替换。输入列表应该是排序的(可能配合前缀/名称模式选项,以拥有强大的重命名工具)
- 集成存档 crate,以便能够打开/创建
.cba
、.cbr
、.cbt
或.cbz
存档 - 添加文档
- 或许可以集成 rayon(如果真的有帮助的话,可以通过基准测试:工具的第一部分是列出文件,第二部分是基于
os::rename
操作)
此外,我在维基百科上看到,可以包含诸如 艺术家、故事信息、目录甚至漫画翻译的单独文本层 这样的元数据。如果有人要求这个功能,我可以检查包含这些元数据的不同方式是否广泛传播。不过,这个讨论将在(几乎)发布1.0版本之前进行。
依赖项
~6.5MB
~114K SLoC