Linux下為Calibre書庫打中文目錄名與文件名補丁


本文由來

臨近下班突然看到知乎上有篇文章是給Calibre打中文目錄與文件名補丁的,想起我之前為啥放棄Calibre的——存進書庫里書的名稱都變成了拼音!手動找起來或者搜索工具找起來太麻煩了(有時想不起用Calibre,直接用搜索軟件+PDF閱讀器就看了),用過Calibre的同學應該知道——添加到書庫里的書相當於從外邊復制過來的,每本書都存兩份很占空間呀!萬一用不習慣還能卸載,不用每本書都改回一次名!

既然有這么做成功的,Windows行,Mac行,那Linux也一定行!

本文環境:Debian 10 + Calibre 3.39.1,據說5.2以后版本變化較大,方法可能不適應5.2版本以上

下面兩張圖是添加書籍以及在文件管理器中的樣子:

一步跳進坑

根據那篇文章所說的,需要下載源碼改完編譯后替換Calibre在用的文件,那個待修改的源碼文件是 src/calibre/db/backend.py,需要編譯成 backend.pyo 再去裝到pylib.zip中,我改完了編譯完了想去替換時犯了難:在Debian下這個文件放哪了??那篇文章里明明有 pylib.zip 壓縮包,我 find / -name "pylib.zip" 也沒有,想着要不二進制安裝下試試?

沒錯,我又折騰了一陣二進制安裝,無果。

回過頭想想,問題出在哪呢?

漸入佳境

回到家,用手機又查了下,發現有文章用Mac改的源碼,然后替換的位置和Windows下也不一樣。靈光一閃,這 pylib.zip 在Linux下應該是沒有的,我搜一下不就好了?搜啥呢?

打開命令行,問了下命令 whereis calibre

可能有的地方可能在 /usr/lib/calibre/usr/share/calibre 目錄中,進入 /usr/lib/calibre 目錄后,我突然發現:這目錄結構不就是源碼么!只是沒了src這層,我一下子就找到了源碼 calibre/db/backend.py,另外發現有個.pyc結尾的文件,查了下Bing發現這是和.pyo類似的字節碼文件

備份了 backend.py 與 backend.pyc 后,開始動手改

sudo vim /usr/lib/calibre/db/backend.py

搜索 construct_path_name,注釋1172-1173行字樣的兩行

搜索 construct_file_name ,注釋了1200-1201行字樣的兩行

保存退出,開始編譯.pyc,之前看這文件頭上有python2.7字樣,編譯也是用python2.7編譯的

sudo python2.7 -O -m py_compile /usr/lib/calibre/db/backend.py

小試牛刀

如圖,中文目錄和中文文件名都正常了,又能與 Calibre 愉快地玩耍了~

Calibre作者將這些中文等unicode轉成拼音這種字母型是為了方便遷移到無unicode支持的環境中而不至於亂碼,對於我們而言是不必要的。

本文參考:

本文首發自博客園 Hellxz博客,同步於CSDN 拾級而上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM