Blog Update | Django 1.0
The blog code has been updated to be compliant with the recent release of Django 1.0. And a small patch from Jeff.
UTOSC Slides and Related Files
I presented at UTOSC this year, presenting a series of tips and best practices that I've learned from Oggify. Entitled Things I've Learned From Oggify, the slides are available on the conference site. There are a few files I used in the presentation which I have put in a tar and uploaded. Enjoy!
Rambling on Git
So during my UTOSC presentation I add some spare time, and ended up doing a "Git in Five Minutes" demo. I've done a written version for everyone to enjoy. So yes, I've written a Git tutorial.
Oh, and this Git Magic tutorial is pretty good too.
Key-Value Coding in PyObjC
So when doing GUIs in with PyObjC you'll realize that the IBOutlet for tying objects to variables have a few limitations. The one I hit was that a single outlet can only be connected to one object. So I read up on Key-value coding. So to do this you have to add two functions per variable:
def name(self):
return self.var
def setName(self, x):
self.var = x
You can imagine that this becomes tedious really fast. Luckily there is a solution. As an example:
from PyObjCTools.KeyValueCoding import kvc
class controller(NSWindowController, kvc):
title = ""
artist = ""
album = ""
So this ties __getattr__ and __setattr__ to valueForKey: and setValue:forKey. Making every class variable available for Key-value coding. Very handy.
Now on Twitter
Well, I've finally given in, and am now on Twitter. You can find me as _ spr _ (hm. that's _spr_. python-markdown has a bug).
Building Cocoa GUIs in Python with PyObjC, Part Five
Adding Python Modules to the Bundle
If you try to use Python modules on the standard OS X Python path import statements will work fine. However, if you have non-standard modules that might be in a different location, or ones that you want to ship with, you will notice you can't just import them.
To bring them into the application bundle you'll have to go through a couple steps, but when it is all done the application will be able to use the modules, and you don't have to require the end user to install anything extra.
Add the files to the Xcode project.
- Select 'Project -> Add to Project' (option-command-a)
- Select the Python module (directory) that you want to add.
-
On the next screen select "Copy items into destination group's folder (if needed)
- Select the correct targets in 'Add to Targets'
- Select "Create Folder References for ...

