views:

380

answers:

2

I am setting up an existing django project on a dreamhost web server, so far I have got everything to work correctly. However I developed under python 2.5 and dreamhost by default uses python 2.4. The following line seems gives a syntax error because of the if keyword:

'parent': c.parent.pk if c.parent is not None else None
                       ^

Is it the case that this form of if statement was introduced in Python 2.5, if so is there an easy change that would make it compatible with Python 2.4?

Or, should I just change to Python 2.5. I have already installed python 2.5 to a directory under my home directory, and have succeeded in running the python interpreter under 2.5. If I wish to use Python 2.5 for everything, where can I set this?

+1  A: 

http://diveintopython.org/power_of_introspection/and_or.html

(1 and [a] or [b])[0]
'parent': (c.parent is not None and [c.parent.pk] else [None])[0]
mg
+3  A: 

Yes, this kind of inline if was added with 2.5, released almost 4 years ago. You can update your Dreamhost version like this

THC4k