2008年2月29日 星期五

周蟒(zhpy) 1.5 發佈, 重構

周蟒(zhpy) 1.5 發佈了 (代號 皇帝)。
請使用 「$ easy_install -U zhpy」 命令來下載或更新周蟒版本,或前往網站查看更多關於周蟒的內容 http://code.google.com/p/zhpy/

這版本主要是對現有功能的維護與重構版本,一般用戶應該不會察覺到改變:

1. 更新關聯的套件
2. 將 merge 跟 rev_merge 函式合併
3. 加強 zhimport.py 並改名成 import_hook.py

周蟒相關消息請至官方網站查看
http://zhpy.blogspot.com/


zhpy Changelog
====================

1.5 (2/29/2008)
--------------------
code name: Emperor

*Changes*

* rename zhimport.py to import_hook.py
* rewrite import_hook from magiccodec, thanks weijr
http://weijr-note.blogspot.com/2008/02/python-magiccodec-01.html
* use isinstance(target,dict) instead of type({}), thanks weijr
* refactor merger
* merge rev_merger to merger
* refactor ini_annotator, py_annotator,
pattern, val_matching, rev_ini_annotator,
rev_py_annotator, trace_annotator to private method
* refactor to distill baseWord
* add some variable docstrings

*Features*

* add keywords:
* "屬性":"property", "属性":"property",
* add set methods keyword:
* "定集合":"frozenset",
* "清除":"clear",
* "複製":"copy","拷贝":"copy",
* "加":"add",
* "丟棄":"discard","丢弃":"discard",
* "聯集":"union","联集":"union",
* "交集":"intersection",
* "差集":"difference",
* "對稱差集":"symmetric_difference", "对称差集":"symmetric_difference",

*Fixes*

*Project Updates*

* update to pyparsing 1.4.11
* update setuptools to 0.6.8
* update epydoc to 3.0.1

*Contributors*

Fred Lin, weijr

2008年2月12日 星期二

周蟒 1.5 之路

最近 weijr 寫了幾篇很有意思的文章:



weijr 提出了透過利用 python 會在程式檔開頭讀取編碼設定 (encoding) 的方法,來使用 python interpreter 直接執行如周蟒等程式,並且提出了基於周蟒 1.4 修改後的實做,其中許多修改很值得參考。

Python MagicCodec 0.1 裡有個大量修改過的周蟒 1.4 版本。

看到 weijr 願意修改 zhpy 並發佈一個自己的版本我還蠻開心的,這表示周蟒開始值得其他人花心力來修改了,也是種肯定。
但同時警覺到: 讓人寧願自己修改而不是發個 patch 給我們,也表示周蟒還有不足之處。

因為周蟒是採取測試驅動開發,而且目標是相容多個 python 版本與平台,
因此在周蟒實做中,我會避免使用 python 2.5 的語法或 python 2.6/3.0 時即將淘汰的語法,
而且代碼需要通過全部測試,從而保證釋出版本的質量,使用者才能放心地採用或自由修改。

周蟒本來就是一個採取測試驅動開發,集合大家創意的中文(python)程式語言,許許多多的功能都是由不同人貢獻出來(可以看 ChangeLog),才有今天的周蟒。

周蟒 1.5 將繼續重構,並同時加入一些更進階的關鍵字,也許會在這版本或下個版本加入透過 encoding 來使用 python 直接執行周蟒的方法。(如果 weijr 肯發個 patch 過來就更快啦 :D)

如果對周蟒原始碼有興趣,可以透過
svn co http://zhpy.googlecode.com/svn/trunk/
來取得原始碼

周蟒原始碼總是維持隨時都是可工作的。