发布一条旧闻

本来写了一个 Python 2.4.x 的 patch,让 Python 可以 native 支持 IrDA socket。但是 Python 的维护者告诉我 Python 2.5 早就 freeze,除非 bugfix 否则不考虑接受新的 feature。因此就做了一个 Python 扩展,至于维护人员认可会这个 patch 并加入到 2.6 里面去就看我的努力吧。

扩展大约一周前就做好,在邮件列表上发布了,但是无人响应,似乎是 Python-CN 的用户有红外设备的不多。所以还是在 Blog 上贴出来:如果你希望用脚本语言对红外设备(手机、PALM、PDA)通信编程,请考虑我的这个扩展

扩展这部分的代码大部分是修改 Python 的 socket 模块的,所以 License 当然也是 Python 的。

代码 checkout 地址:
http://pymobilesync.googlecode.com/svn/trunk/irdasocket/

预编译好的 Py2.4 for Win32 的包下载:
http://www.dup2.org/files/irda-0.1.win32-py2.4.exe

该 win32 版本是在 Visual C++ Toolkit 2003 + .NET SDK 1.1 + Windows Platform SDK 环境编译。感谢Compiling Python 2.4 extensions with Microsoft VC Toolkit 2003这篇文章教我们如何让 distutils 和这些免费工具一起工作。

下面是测试代码:

  1. from irda import *
  2. irdaobject = irda()
  3. devicelist = irdaobject.discover()
  4. print devicelist
  5. firstHint(devicelist[0][3])
  6. secondHint(devicelist[0][4])
  7. irdaobject.connect('OBEX')
  8. irdaobject.close()
Topic: 技术