Hinedo 0.4 最新版本釋出,支援線上自動更新程式,不怕 Hinet 偷改

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

Hinedo 0.4 最新版本釋出,支援線上自動更新程式,不怕 Hinet 偷改

文章PCMan » 週一 11月 19, 2007 1:57 am

下載處:
http://rt.openfoundry.org/Foundry/Proje ... ?Queue=814

讓大家久等了,這次改版花的時間比較久,是因為我在構思一套自動更新的方式

現在程式啟動時,會先連到官方網站檢查有無新的 scripts
如果有,而且 scripts 和主程式版本可相容,則自動下載後更新 scripts
每次 Hinet 改版,Hinedo 官方網站只要有對應的 script 更新,
程式就會全自動升級,使用者就可以快樂的繼續聽,不用重新安裝軟體

如果檢查發現 Hinedo 有重大改版,新 script 和主程式無法相容
則會結束執行,並提示使用者升級 Hinedo 主程式 (應該很少會發生)

另一個重大變更是: scripts 現在改用 python 來寫了,
可讀性比原本的 perl 要好,未來修改維護應該會更容易
PCMan
榮譽學長
榮譽學長
 
文章: 217
註冊時間: 週六 7月 02, 2005 10:46 am

文章PCMan » 週一 11月 19, 2007 1:57 am

效能不是問題,擷取網路資料主要卡在網路速度
而 script 和編譯,處理極微量的資料,速度人類感覺不出差異
常駐在系統的主程式很精簡,只剩下最必要的部份
額外罕用的部份都只有呼叫 script 才會短暫載入,執行完就卸載
可以透過 script 豐富的功能處理 regexp,網路操作等等
主程式又完全不需要依賴相關的 lib,常駐的部份極小
同時兼顧彈性、可維護性、還有資源使用
又 script 除容易修改外,很容易就能從網路隨時更新
主程式不需要改版、不需要重新安裝或編譯
只需要每次 Hinet 有改版時就從網路更新 scripts
而使用 python 寫成的 script 簡短,易讀易改
可以在 Hinet 改變收聽方式的時候,由使用者找出 script 修改方式
然後寄給作者放上官方網站,所有使用者馬上又可以更新

這就是我設計的時候的主要考量
善用不同工具結合,同時保持輕巧、好維護、容易升級
PCMan
榮譽學長
榮譽學長
 
文章: 217
註冊時間: 週六 7月 02, 2005 10:46 am

文章cake » 週一 11月 19, 2007 2:34 am

[cake@localhost ~]$ hinedo
Traceback (most recent call last):
File "/home/cake/.config/hinedo/update_menu", line 47, in <module>
menu = download( 'http://hichannel.hinet.net/radio/ajax/menu.jsp?cid=' + ids[i] )
File "/home/cake/.config/hinedo/update_menu", line 31, in download
f = Downloader().open( url )
File "/usr/lib/python2.5/urllib.py", line 190, in open
return getattr(self, name)(url)
File "/usr/lib/python2.5/urllib.py", line 325, in open_http
h.endheaders()
File "/usr/lib/python2.5/httplib.py", line 856, in endheaders
self._send_output()
File "/usr/lib/python2.5/httplib.py", line 728, in _send_output
self.send(msg)
File "/usr/lib/python2.5/httplib.py", line 695, in send
self.connect()
File "/usr/lib/python2.5/httplib.py", line 663, in connect
socket.SOCK_STREAM):
IOError: [Errno socket error] (-2, 'Name or service not known')
[cake@localhost ~]$

PCMan 大
出現以上error code
請問是什麼原因呢?
此情只待成追憶!!!
cake
可愛的小學生
可愛的小學生
 
文章: 17
註冊時間: 週日 2月 13, 2005 5:22 pm
來自: HK

文章softcup » 週二 7月 15, 2008 9:22 pm

Hinet Radio 選單的網頁編碼更動了,不需要再轉碼了 (Big5 -> UTF-8)
還有迴圈的 range 有錯,電台清單中會少了「交通」這個分類。

底下是 ~/.config/hinedo/update_menu 有修改的地方:
代碼: 選擇全部
for i in range( 0, 7 ):
    f.write( cats[ i ] + '\n' );
    menu = download( 'http://hichannel.hinet.net/radio/ajax/menu.jsp?cid=' + ids[i] )
    matches = reg.findall( menu )
    for match in matches:
        name = match[1]
        #codec=unicode(name, 'big5')
        #name = codec.encode('utf-8')    #轉成 utf-8
        f.write( name + '\t' + match[0] + '\n' )
    f.write( '\n' )
f.close()
softcup
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週二 7月 15, 2008 9:07 pm

文章PCMan » 週三 7月 16, 2008 11:01 am

修好了,感謝!
PCMan
榮譽學長
榮譽學長
 
文章: 217
註冊時間: 週六 7月 02, 2005 10:46 am

文章alex5168 » 週三 7月 16, 2008 1:23 pm

PCman 學長, Hinedo 聽起來感覺很棒! 謝謝您的分享, Hinedo 可以 for Slitaz 作業系統嗎?

可以指點嗎? 謝謝啦!
alex5168
可愛的小學生
可愛的小學生
 
文章: 67
註冊時間: 週五 5月 11, 2007 11:06 pm

文章softcup » 週三 7月 16, 2008 2:08 pm

今天又檢查了一下我修改的部份,發現 range 的範圍應該還是 6
代碼: 選擇全部
for i in range( 0, 6 ):

當下不知為何必須改成 7 才會出現「交通」,可能是我自己本身的問題吧! XD
softcup
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週二 7月 15, 2008 9:07 pm

文章alex5168 » 週六 7月 19, 2008 8:19 pm

我下載了 hinedo-0.4.tar.bz2 此版本, 請教要如何安裝在 Slitaz Linux 下 (for tazpkg), 謝謝!
alex5168
可愛的小學生
可愛的小學生
 
文章: 67
註冊時間: 週五 5月 11, 2007 11:06 pm


回到 debian desktop

誰在線上

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

cron