Pages

Friday, March 24, 2006

bbs2blog

Description

bbs2blog 就是之前的 bbs2wp,經過程式碼重新整理後 再補上一些之前沒寫好的功能,現在更方便了:)

當初會寫這個小工具只是因為習慣 bbs 的編輯界面 同時對 blog 的維護也不是很勤奮,有了這個工具以後 就可以很方便將 bbs 上的文章同步發表在 blog 上了 基本上這個工具只適用於 bbs 重度患者:Q

會重寫這個工具最主要的原因,其實是亂搞系統,誤以為搞壞了 只好重新改寫,後來證實是我耍白癡.... 索性就把之前沒寫完的功能補上,主要有

  • 把帳號與伺服器資訊等設定移到設定檔
  • 根據一些簡單的提示設定 blog 上的文章分類
  • 簡單的把文章中的網址轉換成超連結
這個程式的缺點非常多XD 而且也不是很通用,限制很多 不過目前對我來說已經夠用了 所以大概要等下次搞爛系統才會再改寫....

Download

2006/03/23 [Link]

Install

安裝方法很簡單,現在程式只剩一個檔案 只要解壓縮後加上可執行權限 再經過一些小設定就可以使用

  1. 撰寫設定檔
  2. 設定 procmail
安裝前請確認系統上有沒有 python 2.4 以上版本 如果只有 2.3 的話,要加裝 cjk 套件 詳細安裝方式如下

1.設定檔的格式是 ini 型式的設定檔,一個section一個站

[site1] server = http://some.path/xmlprc.php user = letoh pass = abcde
目前允許多個站台,但是文章會同時發送到設定檔中的所有站台 檔名固定是 ~/.bbs2blogrc  perm 必需是 400 或 600 不過把密碼以明碼存在檔案還是怪怪的 雖然設定檔多半是弄成 600 有空再加上簡單的加密功能吧....

目前設定檔要手寫 不過我又不是有幾百個站 所以寫完就算了 目前沒有計畫加上更方便的設定工具....

2. procmail 的設定跟以前一樣

:0 H * ^From: bbsid.bbs@bbs.host.name { :0 b | /path/to/bbs2wp.py }
Usage

使用方式相當簡單,只要將 bbs 上寫好的文章轉寄到信箱就可以了

現在判斷 category 的方式是抓文章標題中最前面括號裡的字 例如

[log] 測試結果 [prog]一個程式的小技巧 [prog][py][note] 奇怪的語法 [pkg]好用軟體
允許多個中括號 但各個 tag 中間不可以有空格 不過我不是抓這個來判斷的 而是去找相鄰且成對的中括號 所以 tag 跟實際標題之間有沒有空格都可以

抓到以後會當作 sub-string pattern 去比對 blog 中的分類 tag大小寫不拘 找不到就會用預設的分類 另外要注意的就是文章丟上 blog 後 會把原標題中的 tag 去掉...(都有 tag 了就不要再弄一些古怪的標題了)

缺點就是 因為一定得是 sub-string 所以像 rb pl 這類奇怪的 tag 都不能用了 除非在 blog 上也是用這種奇怪的字串當分類...不然一定比對失敗 (誰會知道 rb -> ruby, pl -> perl 這種對應關係)

另外我加了簡單的 link 判斷 會代換成 <a xhref="url">Link</a> 影像的部份我就沒特別處理了....(有 link 的話就是依上面的方式處理)

目前只有測試過 wordpress....(沒有裝其他系統可以測) 差不多就是這樣....


This article was originally posted on this site.

5 comments:

  1. 站長你好,我在google找到你的文章
    對你的BBS2Blog蠻有興趣的,可惜我不懂python
    在做測試的時候
    出現了以下訊息

    hd@KURO-BOX:~$ cat \[BBS\]BBS2Blog.txt | /home/hd/bbs2blog.py

    Traceback (most recent call last):
    File "/home/hd/bbs2blog.py", line 500, in ?
    conn = BlogAction(c[0])
    File "/home/hd/bbs2blog.py", line 62, in __init__
    self.connect(conf)
    File "/home/hd/bbs2blog.py", line 70, in connect
    server = xmlrpclib.Server( conf['server'] )
    File "/usr/lib/python2.4/xmlrpclib.py", line 1357, in __init__
    raise IOError, "unsupported XML-RPC protocol"
    IOError: unsupported XML-RPC protocol

    不知道是不是有什麼套件沒灌呢
    我用的是python2.4
    還是我的.bbs2blogrc設定錯誤
    [BBS]BBS2Blog.txt 是我的一個BBS中文信件
    感謝站長

    ReplyDelete
  2. 小弟知道了
    原來我不小心把.bbs2blogrc權限設成600了
    改成644就ok了

    ReplyDelete
  3. 唔 也許是我寫錯了:p
    我原本是希望設定檔要設成 400 或 600,不建議改成 644,因為這樣有可能會讓密碼曝光....
    權限檢查這部份我會找個時間再確認一下 謝謝你的回應:)

    update:
    文章裡關於設定檔的部份寫錯了XD
    server 的部份設定是這樣

    server = http://.../xmlrpc

    不曉得為什麼wp會多加一些奇怪的字,難怪你的訊息出現連線失敗

    ReplyDelete
  4. [...] http://letoh.wordpress.com/2006/03/24/bbs2blog/ http://vision.twbbs.org/~letoh/blog/?p=108 [...]

    ReplyDelete
  5. [...] 新版問題解決… ※ 引述《HD (努力壓榨時間..)》之銘言: : 剛在google上找,有人用python做了一個 : [Link] : [Link] : [Link] : Description : bbs2blog 就是之前的 bbs2wp,經過程式碼重新整理後 : 再補上一些之前沒寫好的功能,現在更方便了:) : 當初會寫這個小工具只是因為習慣 bbs 的編輯界面 : 同時對 blog 的維護也不是很勤奮,有了這個工具以後 : 就可以很方便將 bbs 上的文章同步發表在 blog 上了 : 基本上這個工具只適用於 bbs 重度患者:Q : 會重寫這個工具最主要的原因,其實是亂搞系統,誤以為搞壞了 : 只好重新改寫,後來證實是我耍白癡…. : 索性就把之前沒寫完的功能補上,主要有 : 把帳號與伺服器資訊等設定移到設定檔 : 根據一些簡單的提示設定 blog 上的文章分類 : 簡單的把文章中的網址轉換成超連結 : 這個程式的缺點非常多XD 而且也不是很通用,限制很多 : 不過目前對我來說已經夠用了 : 所以大概要等下次搞爛系統才會再改寫…. : Download : 2006/03/23 [Link] : Install : 安裝方法很簡單,現在程式只剩一個檔案 : 只要解壓縮後加上可執行權限 : 再經過一些小設定就可以使用 : 撰寫設定檔 : 設定 procmail : 安裝前請確認系統上有沒有 python 2.4 以上版本 : 如果只有 2.3 的話,要加裝 cjk 套件 : 詳細安裝方式如下 : 1.設定檔的格式是 ini 型式的設定檔,一個section一個站 : [site1] : server = xhref=”[Link] server = [Link] bbs2blogrc權限改600就可以解決了 : user = letoh : pass = abcde : 目前允許多個站台,但是文章會同時發送到設定檔中的所有站台 : 檔名固定是 ~/.bbs2blogrc  perm 必需是 400 或 600 : 不過把密碼以明碼存在檔案還是怪怪的 雖然設定檔多半是弄成 600 : 有空再加上簡單的加密功能吧…. : 目前設定檔要手寫 不過我又不是有幾百個站 : 所以寫完就算了 目前沒有計畫加上更方便的設定工具…. : 2. procmail 的設定跟以前一樣 : :0 H : * ^From: bbsid.bbs@bbs.host.name * ^From bbsid.bbs@bbs.host.name : { : :0 b : | /path/to/bbs2wp.py : } : Usage : 使用方式相當簡單,只要將 bbs 上寫好的文章轉寄到信箱就可以了 : 現在判斷 category 的方式是抓文章標題中最前面括號裡的字 : 例如 : [log] 測試結果 : [prog]一個程式的小技巧 : [prog][py][note] 奇怪的語法 : [pkg]好用軟體 : 允許多個中括號 但各個 tag 中間不可以有空格 : 不過我不是抓這個來判斷的 而是去找相鄰且成對的中括號 : 所以 tag 跟實際標題之間有沒有空格都可以 : 抓到以後會當作 sub-string pattern 去比對 blog 中的分類 tag大小寫不拘 : 找不到就會用預設的分類 另外要注意的就是文章丟上 blog 後 : 會把原標題中的 tag 去掉…(都有 tag 了就不要再弄一些古怪的標題了) : 缺點就是 因為一定得是 sub-string : 所以像 rb pl 這類奇怪的 tag 都不能用了 : 除非在 blog 上也是用這種奇怪的字串當分類…不然一定比對失敗 : (誰會知道 rb -> ruby, pl -> perl 這種對應關係) : 另外我加了簡單的 link 判斷 會代換成 Link : 影像的部份我就沒特別處理了….(有 link 的話就是依上面的方式處理) : 目前只有測試過 wordpress….(沒有裝其他系統可以測) : 差不多就是這樣…. [...]

    ReplyDelete