3/22/2005

LiveTest

I'm at PyCon this week. PyCon is my favorite conference, ever. This year it is better than ever, with tons of people at the sprints and lots of activity.



amk told me "if you're sprinting and have gotten something
accomplished, please weblog it.", so I am :-)



Zac Bir and I sprinted on a simple PyObjC app which scratches a simple itch I have occasionally. He describes it more eloquently than I could.




While MacGregor is incredibly cool and fun, the exciting Nevow related thing I completed is LiveTest, a browser-based functional web testing framework. Since it lives in the browser and triggers actual browser events, it is capable of testing highly JavaScript based apps, such as LivePage apps. There is an example of using it to test a LivePage application, LiveAnimal, in Nevow now.



Finally, I released Nevow 0.4! There are lots of improvements and bugfixes in this release, which is available for download from here.



3/15/2005

Using Python to find Type/Creator codes

It has been a while since I needed to know about old-style Mac Type/Creator codes, but today I wanted to search my hard drive for files of a specific type. I thought you used to be able to drag a file into the find file Type box and it would automatically assign the Type to the input box, but this no longer seems to be the case on OS X.



I thought about downloading some utility which would allow me to see the Type code of a file of the same Type as the one I was trying to find, but then I realized I could probably do it with Python, and I was right.




>>> MacOS.GetCreatorAndType('/Volumes/Stormbringer/Audio/New Sessions/Guitar Project/Guitar')
('MOUP', 'PERF')


I also find myself occasionally using the Python REPL to do things like perform some quick math, convert between a char and the ordinal of that char, and look up unicode glyph names and resolve them. Instead of downloading some specific program to do some task, I have access to this vast functionality space which I can use to create my own utilities simply by remembering the steps to perform.