[閒聊]今天下午看了 Bittornado 的 source code...

放輕鬆,這個版純聊天不談技術,歡迎大家進來坐坐。

[閒聊]今天下午看了 Bittornado 的 source code...

文章阿信 » 週六 8月 21, 2004 10:06 pm

由於小弟有使用 BT,而 Linux 上的 client 端我都是使用 bittornado, 因為簡單且 btlauchmany 很方便使用,搭配 screen 遠端抓檔案時在很方便了.

但有一個問題是該軟體在儲存檔案時,無法以現有的 charset 儲存,比如現在我使用 UTF-8 的環境,而 torrent 的發布者如果是 gb2312 or big5 or whatever 的話,就無法讀取,必須使用 iconv or some tools to change the filename.

所以我希望能修改成儲存檔案直接以 UTF-8 儲存,testing/unstable 中的版本已經有支援 unicode, 但只有加入 saveas 的方式,如果該 torrent 是目錄的話,那下載好目錄下的檔案依舊不是 UTF-8. :-(

看了 source code 之後,發現 bittornado 會先讀取 meta 資料(btshowmetainfo 可以看 torrent 的資訊),然後儲存將要下載的檔名.

而小弟就從抓到檔名這個地方著手,先將字串轉成 unicode,然後再儲存,算是解決了部分的問題.比較不完美的地方是對於一些有空格,@...等特殊混合檔名會出錯.如果用 echo "filename"|iconv -f charset1 -t utf8 無法轉換的話,幾乎會出錯. 埃...

不知道是不是這些字元在 python-cjkcodec 中沒有 charmap 的對應所造成的,總之...似乎作了一下午的白公... :crying:

但也有收穫,像是知道有下載速度的限制以及一些參數是說明檔沒寫的,希望能有所突破...
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章damon » 週日 8月 22, 2004 7:53 am

python...我沒看過source不知道,不過之前用的感覺是他的i18n module問題超多,亂碼一堆
damon
活潑的高中生
活潑的高中生
 
文章: 358
註冊時間: 週二 9月 10, 2002 5:42 pm


回到 talk

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron