2006年01月27日

内容放在了 svn 中。在线看

主要讲解了自定义 Tag 的生成过程。一个 Calendar Tag 的生成。

AHAH 也不算什么新名词了,它与 Ajax 对应,它的英文全称是 Asychronous HTML and HTTP。有一个链接可以看一下。点击这里。从概含上说,它处理 HTML 片段,而 AJAX 处理 XML 内容。其实对于外界倒是不必分得很细。现在许多的 AJAX 库都支持多种传输格式,HTML, Plain Text, XML, Json 等。那么为这些格式每个都起个名字也没有必要。不过在有些细节的讨论中,可能会区分一下。

2006年01月26日

SVN 中更新了全部的教程,全部使用 reStructuredText 重新编辑,并且在 magic-removal 分枝下进行了测试。

你可以更新的你 SVN

在线观看

下载打包文件

感谢 Zoom.Quiet 提供在线观看功能。

赶在 2006 年春节前修改完成。感谢所有帮助过我的人。

另祝大家:

春节愉快,全家身体健康,万事如意!

2006年01月25日

随着 django 的新分枝 Magic-removal 完成度的提高,已经有必要将我写的 Django 教程转到新的分枝上进行开发和测试了。因此我开始了新的教程的整理工作。主要有以下工作:

  1. 全部使用 reStructuredText 进行改写
  2. 按新的 Django 分枝进行代码的修正

更详细的进展将会放在 http://wiki.woodpecker.org.cn/moin/DjangoStepByStepNew

同时还可以从 svn 中 checkout 源文件,包括代码。

地址在这里

版权是  Creative Commons Attribution 2.5 License 。

有时间把 NewEdit 的图标换一换。

2006年01月20日

以前一直没有装好 Ubuntu 上的 wxPython ,现在终于装好了。我想我要花不少时间在Linux下开发了。经过试验有不少地方与 Windows 差别很大。象 TreeCtrl ,在windows显示得挺漂亮,但到了Linux下,这一根线,那一根线的好难看,我只好根据平台不同去掉完事。ClassBrowser还是一运行就 CoreDump 。DirBrowser运行就报错,后来发现 windows 下与 Linux 下处理真是有差别:

在windows下,刚开始我创建了一个root结点,但设置它为隐藏。于是在点右键时,我会调用一个方法得到与这个结点相关联的信息 GetPyData() 。但因为 root 结点是隐藏的,因此我并没有给它设值,这样一取就出错了。原因是:在取结点前,我首先根据 GetSelection() 得到当前选中的结点。在 windows 下,隐藏结点是不选中的,因此我不会得到隐藏的 root 结点,但在 Linux 下却一样可以得到,因此报错。于是我只好再加一个判断如果是root结点就跳过。

wxPython虽然是跨平台的,但要想做好还是不容易的。要多在不同的平台上进行测试才可以。

再如我使用xrc做的一些对话框,在打开时输入焦点并不在第一个控件上,因此要我手工点,好象按ESC也关不掉,位置和字体都有一些变形,而这些在windows下都显得不错。很多象这样细小的地方都要调整才可以。

慢慢改吧。

Ubuntu已经升级到了 5.10 ,但是一直没有怎么用,因为wxPython一直没有装好。不过还是想装一下试试。于是开始查资料。

文档:Ubuntu中文的快速指南

主要进行了:

1. 源的修改

deb http://ubuntu.cn99.com/ubuntu/ breezy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ breezy main restricted universe multiverse
deb http://ubuntu.cn99.com/backports/ breezy-extras main restricted universe multiverse

2.系统更新

sudo apt-get update

3.安装 python2.4-dev 包

sudo apt-get install python2.4-dev

不知道有没有用,反正是装了

4.安装 Python-wxgtk2.6

sudo apt-get install python-wxgtk2.6

不知道为什么改名字了

然后下载 NewEdit 解压后就可以运行了。

python NewEdit.py

NewEdit 的确还存在一些问题,看一看能否解决。

2006年01月18日

有人向我要我的Blog小程序用来进行 donews 的 Blog 的备份,但因为那个程序是 Python 写的,并且还要改一下程序代码中的一些配置,因此有人建议我做成 exe 版本的(自然只能在windows下运行了)。于是花时间改造了一下。这里下载 backblog.zip 源码也提供 backblog_src.zip

1. 下载 backblog.zip 然后解压到一个空目录下

2. 拷贝std_config.ini 为 config.ini

3. 修改 config.ini 内容

[config]
name = yourname  #改为你在donews上的名字
password = yourpassword  #donews上你的口令
dir = ./blogback   #备份路径,缺省为当前目录下的blogback
url = http://www.donews.net/<yourname>/services/metablogapi.aspx  #不要动
encoding = utf-8  #保存的html文件的编码
lastnumber = 0   #上次的blog总数
proxy =   #如果没有为空,有则形式为 http://user:password@hostname:port
                #如果user:password没有则形为 http://hostname:port

4. 在dos窗口下运行

d:\blog>backblog

先问你当前的blog贴子总数。backblog是这样处理的:

当前的blog贴子总数-上次的blog贴子数=现在要取的贴子数

说明:

  • 因为密码以明文保存可能不安全,不过一般就自个用也无所谓,我的就是这样。
  • 处理完毕后会把实现的贴子总数保存在config.ini文件中
  • 不能取某个指定的贴子,它实际上取的是从最新的开始算的一个区间
  • 简单测了一下,可能有bug,欢迎告诉我
  • 使用的是metaweblogapi,因此只能取到文本的信息,不包括评论
2006年01月17日

新增功能:

  1. 增加当MessageWindow中出错异常时,可以根据当前行的异常信息自动跳转到出错文件的指定行的功能
  2. Windows平台中增加目录浏览窗口中,对某个目录打开Dos窗口的功能
  3. 自动保存上次打开目录,再次启动时自动打开上次目录
  4. 可以在config.ini中设置缺省编辑器的字体,在中文环境下为“宋体”
  5. 自动判断python文件的编码并进行转换后保存
  6. 增加新建文件时缺省编码的设置,如果用户定义编码不为空,则用户定义编码将作为缺省编码。如果为空则使用缺省编码。
  7. 在编辑窗口的右键菜单上增加修改文件编码菜单
  8. 增加 TODO 窗口
  9. 增加简单贴功能,并可以自动保存位置和大小
  10. 根据文本类型自动选择注释符,并且可以在config.ini中设置使用comment_chars作为节,同时语言为key,可以有一个default作为缺省值
  11. 增加ruby classbrowser功能
  12. 增加对动态菜单快捷键的处理
  13. 增加对debug生成的控制,缺省情况下debug不输出,需要在config.ini中设置才输出
  14. 在参数中增加一个设置document语法高亮的按钮
  15. 增加自动扩展功能,并支持项目处理及嵌套处理
  16. 增加简单模板功能,可以在code snippet中加入 <#{name=inputname,description=info,defult=value}#>,这样在双击snippets会弹出对话框让你录入信息。
  17. 可以设置某个目录工程类型,用在某些扩展中
  18. 增加代理服务器参数设置
  19. 增加网络分享窗口,目前只用于Rss Reader

新增插件:

  1. rssreader RSS阅读器
  2. docbook docbook的支持
  3. djangoproj django项目的支持

新增快捷键:

  1. Alt+C 清除Shell窗口的内容
  2. F5 Python程序运行

修改:

  1. 解决pyw的多线程运行阻塞的问题
  2. 修正模块信息显示出错的问题
  3. 在执行Tab与空格切换的菜单后自动调整缩近符
  4. 更新image有效性的判断处理
  5. 修正ftp目录分析的一个bug
  6. 调整文档切换时菜单的动态生成,及语法切换的问题,减少不必要的更新

源码下载:newedit_3.2.zip
Window版下载:NewEdit3.2.exe
欢迎大家订阅NewEdit的邮件列表,可以在上面提问,并且最新的消息都会发布在上面。

不是正式的发布,只是分支合并了。原本希望改善导入从而提高启动速度,但最终的发现是:由于debug功能造成启动很慢。只要关闭这项功能启动速度就非常快了。但还是采用新代码。如果你已经打开了debug功能,关闭它就可以提高速度。关闭的方法:

修改 config.ini

[default]
debug = 0

如果没有这些内容,不用管它,缺省情况下NewEdit是不使用debug的。只有上面的debug = 1才会启用。

svn和wiki都已经更新,欢迎下载使用。

在我的机器上 启动时间在4秒之内,一般为3秒。如果刚开始没有文档的话,可以到2秒。也许计算有出入,但关掉debug功能可以使启动速度大大提高。