抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

写在前面

用过Calibre的用户大概都知道,Calibre会自动以作者名 书名的形式组织书库,其中就有一个小问题,Calibre会自动把书库路径转为拼音,怪难看的。

解决方法

理论上,适用于所有能运行Calibre的平台,包括Windows,Linux等。

我机子是Manjaro,目标文件在/usr/lib/calibre/calibre/db/backend.py

将第1350行左右

1
2
3
4
5
6
7
8
def construct_path_name(self, book_id, title, author):
'''
Construct the directory name for this book based on its metadata.
'''
book_id = BOOK_ID_PATH_TEMPLATE.format(book_id)
l = self.PATH_LIMIT - (len(book_id) // 2) - 2
author = ascii_filename(author)[:l]
title = ascii_filename(title.lstrip())[:l].

以及1380行左右

1
2
3
4
5
l = (self.PATH_LIMIT - (extlen // 2) - 2) if iswindows else ((self.PATH_LIMIT - extlen - 2) // 2)
if l < 5:
raise ValueError('Extension length too long: %d' % extlen)
author = ascii_filename(author)[:l]
title = ascii_filename(title.lstrip())[:l].

这两个地方的以下片段

1
2
author = ascii_filename(author)[:l]
title = ascii_filename(title.lstrip())[:l].rstrip()

注释掉

1
2
# author = ascii_filename(author)[:l]
# title = ascii_filename(title.lstrip())[:l].rstrip()

就行了。
Windows大概是差不多的目录结构,懒得找了。

注意事项

  • 更新会覆盖修改。
  • 已经导入的书,路径不会变。