我的網誌已搬家至blog.miaout17.net,本網誌將不再更新
顯示具有 Blogtrans 標籤的文章。 顯示所有文章
顯示具有 Blogtrans 標籤的文章。 顯示所有文章

2010年8月15日 星期日

Blogtrans更新

剛剛突然想到,之前Blogtrans有改一些code,但一直沒放出來。看了一下git log....2009/05/26(汗)。

順手打包了一下,上傳到sourceforce,雖然code是一年多前寫的(汗)

* 增加Blogger匯入功能
* 處理一些無名XML不是well-form的狀態,或者是出現UTF-8不合法的字元
* 增加UnitTest,順便修正了一些minor problem....

新版的程式一樣可以在Sourceforce抓到

2009年7月28日 星期二

無名備份檔問題

早上收到網友email,說無名的網誌備份檔用我的程式打不開
看了一下,找到問題並這樣回復該網友:

用記事本打開您的備份檔
搜尋 2003-02-29
改成 2003-02-28
即可開啟

(註:2003年不是潤年,沒有29號,無名的程式真的很厲害)


科科科

2009年5月30日 星期六

在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的截圖:



2009年5月22日 星期五

Blogtrans 更新 090522

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

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

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

2009年5月11日 星期一

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比,筆者一人利用空閒時間的力量是相當有限的。

2009年5月10日 星期日

無名小站備份檔問題

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



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


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

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

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

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

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

你還放心住在無名嗎?



(對不起我又老梗了)

2009年5月3日 星期日

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下載。有問題請回報,祝大家成功逃離丁丁星球。

2009年4月30日 星期四

Blogtrans已知問題

似乎因為無名又做了微妙的決定,最近想要搬Blog的人又變多了,我收到不少Blogtrans有關的Bug。

Blogtrans現在有一些已知的問題:
  • 匯入無名備份檔時可能會卡住 (應該是無名匯出格式不知道偷偷做了什麼變動)
  • 匯出至Blogger時留言會不見 (這個以前可以的,應該是Blogger改了讀備份檔的機制)
  • 無法正常處理簡體中文
因為在下最近很忙(背景音樂:不用麻煩了,不用麻煩了,阿宅很忙的),應該會趁這周末的時間(5/1~5/3)修正這些問題。如果E-mail給我沒有回音,可以下周一後再過來看看有沒有更新。

2008年9月12日 星期五

Blogtrans版本更新 (Rev15)

經過一些測試,目前無名轉Blogger、MT(Pixnet)轉Blogger這兩個功能應該接近穩定了,目前最高記錄是成功匯出839篇文章和1021則留言到Blogger。現在最新版本是Rev15,已經可以在Sourceforge下載。

列一下修掉的Bug:
  • Blogger的文章標籤中不允許某些特殊字元:!,&,<,>,@。 (不知道有沒有漏掉)
    如果匯入Blogger的XML檔,文章分類包函這些字元的話,就會發生可怕的靈異事件。系統會顯示你已經成功的匯入所有文章,而且你也會看到成功匯入成功。
    我目前是在程式中把這些特殊字元去掉。如果你在意標籤的話,也可以自行用文字編輯軟體,先將有問題的標籤全部取代成你想要的文字。
  • MT格式匯入時,日期仍然有Bug,簡單的修正了。
  • Blogger匯出時,之前會把作者印在除錯用的文字界面中。這時如果有不能轉成Big5的Unicode文字,可能會造程匯出失敗。算是個愚蠢的Bug,已修正。
  • 無名小站的XML格式,最近在檔案尾端加上了一些莫名奇妙的東西,而不符合標準XML規格,造成XML解析失敗。目前也已修正。

目前最高記錄是成功匯出839篇文章和1021則留言到Blogger。

我會將一些說明慢慢放到靜態頁面:Blogtrans首頁,遇到問題也歡迎回報。

Update:
跟據網友Pigy的回報,Rev16版修正了留言者的網址都會變成http://www.blogger.com/profile/1的問題。

2008年9月11日 星期四

Pixnet搬家到Blogger也可以囉

經網友電子羊反應,從Pixnet匯出的MT檔無法正確的匯入Blogtrans。我發現這個應是日期格式的小問題,目前已經修正了。

至此下載Blogtrans最新版 (目前是Rev13) 。

從Pinxnet匯出MT檔的步驟:進入Pixnet後台 => 點選左側的匯入/匯出備份 => 匯出備份檔 => 點選MT格式備份檔 => 下載備份檔

再參考上一篇的教學,匯入MT格式檔,匯出成Blogger檔案,至draft.blogger網站匯入即可。

我目前測試Pixnet轉Blogger是成功的,只是過去發生過一些奇怪的中文衝碼問題,不知道還會不會發生。如果還有問題的話,請留言通知我。

再一次說明,本軟體不保證完全運行正確,請自行小心進行您的Blog資料備份。

祝搬家愉快 :)

最方便的無名搬家到Blogger方式 (可搬留言,無一天五十篇限制)

喵的失眠才有這些程式進度....語無輪次的長話短說一下....

很久很久以前,因為無名小站太丁丁,導致很多鄉民都想要從無名小站逃離出來。gslin大神製作的無名匯出工具+xdite大神協助架設的Blogger匯入工具 ,應該是最有名的搬家方案,造福了許多鄉民們。但這套工具卻有兩大限制:不能夠搬留言、一天只能匯入五十篇

Blogtrans是我一年前左右開發的一個Blog搬家工具,主要功能就是從無名小站搬家到Blogger,過去的開發記錄在我舊的Blog中。其實Blogtrans目前可以做到:
  • 匯入無名XML
  • 匯入MT格式
  • 匯出MT格式
  • 匯出Blogger Atom XML
重點是:從這個版本起,他現在可以不受一天五十篇的限制,也可以正確的一次匯入留言了!

其實這個方法我幾個月前就找到了,只是一直懶得實做出來,直到今天失眠才花半夜的時間把他做完。


長話短說的搬家教學

登入無名Blog,進入網誌管理,翻到最下面,點選「下載網誌備份檔案」

wretch-export

把這個檔案存起來。

先升請好一個Blogger帳號,開好一個新的Blog。

去Sourceforge下載最新版的Blogtrans (目前是Rev12),解壓開來後,執行Blogtrans.exe。
blogtrans1


點選匯入無名XML檔案,開啟你剛剛在無名下載的網誌備份檔案。

blogtrans2


畫面左邊會出現文章列表,點選後右邊會出現簡單的文章預覽。

blogtrans3

列表中有箭頭的話,可以點選展開,可以看到留言列表,點擊後右邊可以預覽留言。每個選項左邊的核取方塊可以勾選,以決定你等一下要不要把這篇文章/留言匯出。

blogtrans4

點選匯出 => Blogger…

blogtrans5

把Blogger格式的匯出檔案存起來。然後登入 http://draft.blogger.com/ 這是Blogger的實驗性質站台,具有匯入匯出的功能。



點選匯入網誌



選擇剛剛用Blogtrans匯出的檔案,建議勾選自動發佈所有匯出的文章。


稍待一下就可以看到匯入完成了,共有167篇文章和572則留言,突破Blogger每天50篇的限制!分類標籤、文章時間、留言時間都是正確的喔。夠簡單吧。

註:
  • 例圖中的文章不是我的,因為手邊缺乏測試資料,感謝好友Haly提供他的無名匯出檔,並同意我截圖做成教學。
  • 這個功能目前是利用Blogger的開放性匯出格式,試圖產生與Blogger Atom XML相容的檔案。本人不100%保證功能之正確性 (說不定Blogger改個做法,這隻程式就暫時不能用了) 。本人不負擔匯入資料遺失的風險,請自行做好檢查/備份的工作。


有那麼完整易用的搬家方案,你還在等什麼?

hasname