datetime objects and __new__()

peter peter.sabaini at gmail.com
Tue Nov 25 09:08:08 EST 2008


Hi --

>>> import datetime
>>> class ts(datetime.datetime):
...     foo = 'bar'
...     def __new__(cls, s):
...         c = super(ts, cls)
...         return c.fromtimestamp(s)
...
>>> t = ts(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 5, in __new__
TypeError: __new__() takes exactly 2 arguments (9 given)

I don't understand why that happens -- am I correct in assuming that
the call to .fromtimestamp() is picking up on the ts class? Shouldn't
it get the datetime class instead?

(Yes, I am aware of the problems of using datetime and timestamps)

Could some kind soul please enlighten me?

peter.



More information about the Python-list mailing list