大貓共和國

Meow

在Linux/Mac作業系統上運行Blogtrans

這篇文章說明如何在其他作業系統上運行Blogtrans。

目前Blogtrans只固定製作Windows版的執行檔。在其他平台上運行Blogtrans可能麻煩一些,以下也假設讀者對於這些作業系統的操作有一定的認知。

筆者無法允諾有空一一回復相關問題。筆者並非微軟教徒,但考慮Windows使用人數眾多,Blogtrans在Windows上應該算是經過相當的測試。如果使用上還是有問題,借個有灌Windows的電腦來用似乎是最穩定的選擇。

如果有人要幫忙做Linux和Mac的Build我也是很樂意啦….

環境設定

目前Blogtrans只相依於兩個東西:

  1. python 2.5
  2. wxPython-unicode
(舊版本曾經用過gdata,現在的Blogger Atom XML是硬寫出來的)

以ubuntu (debain) 為例:
sudo apt-get install python
sudo apt-get install python-wxaddons

我手邊沒有Mac (之前有Mac桌機但賣掉了) , 不過Mac印像中也是內建Python2.5,應該灌個wxPython-unicode就OK吧……

執行Blogtrans

然後去Github的Blogtrans頁面抓取程式源始碼,目前穩定的程式碼都放在master branch。如果會使用git的話可以用git抓,否則直接抓tarball下來解壓縮也可以。

之後進到shell,切換到blogtrans目錄,執行python blogtrans.py即可。

在Ubuntu上運行Blogtrans的截圖:



Blogtrans 更新 090522

今天赫然發現一件事,在上次的更新中我以為已經修正無名文章日期的問題了。結果發現修改的程式忘記commit,上次壓出來的版本日期還是有問題的。所以今天又壓了一個版本,只更新了無名日期這件事。

離無名關閉備份只剩四天。

有需要者請至Sourceforge抓取最新版本

Blogtrans雜記

先聲明,筆者跟無名沒啥深仇大恨,也不在Web界工作。更不是其他BSP的打手,我與任何BSP沒有利益關係。

Blogtrans專案的起源是幫朋友(終於變成女友XD)搬Blog寫的一個console小程式,後來閒暇時補上UI放出來給想搬家的人使用。這也是我剛第一個嘗試用Python寫的中小型應用程式 (所以程式架構很亂,有人要trace的話別笑我 Orz)。

維護這隻程式算是吃力不討好的工作。無名的規格問題層出不窮:在XML檔案後面添加HTML碼的做法是一大經典,而且這是推出備份服務的後來才加上去的,我懷疑這是刻意讓企圖讀取無名備份檔的程式無法運作。另外在XML檔中可以出現不合法的XML字元,還有現在的備份檔不完全問題。 (Well, 我必需承認無名匯出檔根本是封閉格式,或許該慶幸他沒有用亂七八糟的binary format再加個密?) 另外也有些MT匯出檔的格式不依標準 。最麻煩的是上傳到Blogger,我花了許多時間在測試上傳Blogger備份檔上。




話說回來,無名從以前到現在的做法著實另人惱火,我相當不相信「關閉備份是為了專注在其他更好的服務」。

筆者在思考是不是該在無名關畢備份服務後,再寫另一個轉出無名的功能。要達到私密文章備份,這次可能就要靠HTTP認證,再從前台或後台撈HTML出來了。跟之前的作法比,可能這樣的做法更為麻煩。只要站方稍稍變動規格,撈文章的parser就可能失效。

我另一方面也希望國內其他BSP可以繼續做到這樣的功能 (撇開轉出Blogger部份不提的話,pixnet一直提供了比Blogtrans更穩定的轉出無名功能)。畢竟跟商業(又有幾位程設能力超強大神在)的BSP比,筆者一人利用空閒時間的力量是相當有限的。

無名小站備份檔問題

按,我家樓下常有外國人在開轟趴,半夜一點多大聲說話,吵到我關著窗子都聽的到。剛快睡著結果被吵起來寫blog,考慮下次再被吵要不要去暱名檢舉了….



言歸正傳,昨天收到一位網友來信,說Blogtrans無法匯入他的備份檔。他的網誌有九百多篇文章,但是從無名試著匯出好幾次備份檔,使用Blogtrans匯入時都不成功。使用Notepad++打開他的備份檔,檢視檔案尾端,大鳥眉頭一皺,發現案情並不單純 (對不起我老梗了)


因為沒有取得轉錄同意,雖然原文是公開的,應該在合理引用的範圍,我還是把文字消音了。

注意紅框的地方,一個E9的特殊字元中斷了備份檔。我試著手動修復備份檔,發現無名只匯出了七百多篇文章,留言全都不見了。

假設不是該網友在下載的過程中遇到特殊問題,那就是無名的備份功能真的有Bug,導致匯出時闕漏了文章和留言。

該位網友去信無名,客服的回應為
會幫他調整Blog,請他清除網路暫存檔試試看
(顯然沒用?)

或許無名是對的關閉服務是因為他們沒有能力維護

你還放心住在無名嗎?



(對不起我又老梗了)

Blogtrans版本更新:090503


遵守之前的承諾,在這個週末放出Blogtrans更新。這次的更新主要是針對這些問題:
  • 匯入無名小站時,文章時間是最後修改時間,而非發佈時間
    已修正
  • 無名小站無法匯入的一些問題
    主要問題是當文章中有不合法的XML字元時,無名仍會將這些字元匯出到XML檔中。
    已解決
  • 簡體中文電腦無法使用Blogtrans的問題
    1. 原本程式中有些地方很蠢的將字串先以CP950轉成Unicode,在簡體中文電腦就會產生錯誤,我全部改成Unicode了。
    2. 看到MT檔中,日期欄位是「DATE: 07/11/2004 07:39:17 下午」,出現中文字當然與MT規格不符,暴力的replace /上午/AM/ /下午/PM/
    已解決
  • 匯出至Blogger留言會不見的問題

    這個問題我懷疑是Blogger自己的問題,之前匯出留言到Blogger是沒有問題的。我做了這樣的實驗:從Blogger官方匯出有留言的文章,再匯入回去,留言竟然也有機率會不見。
    暫時提供一個比較暴力的解決方法:將所有留言合併到文章內文之中。

    選擇這個選項之後,所有留言會被合併到文章之中,當作文章的一部份處理。這樣做的壞處是留言會被視為文章的一部份,而無法在側邊欄中顯示。

    這個問題若是持續存在,我會在有空時做詳細的測試再回報給Blogger。

    目前無法完全解決,提供克難的替代方案。


    090504更新:感謝Asher網友,將留言選項調成「任何人都可以留言」似乎就沒問題了。我還沒時間做詳細的測試,暫時先告知使用者有這個方法可以嘗試。
目前最新版的是Build-090503,一樣請至sourceforge下載。有問題請回報,祝大家成功逃離丁丁星球。