Python 2.4 inline if statements

Marcus Whybrow picture Marcus Whybrow · May 2, 2010 · Viewed 14.2k times · Source

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?

Answer

Jochen Ritzel picture Jochen Ritzel · May 2, 2010

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