Dear All,

I am trying to create a class that would extend functionality of
datetime.date by implementing some functions I need, for example an
optional initialisation by (year, day_of_year) instead of (year,
month, day). I would like the class constructor to behave in the
datetime's default way if there are no keyword arguments and do my own
stuff if there are some.

Here is the minimal example:

=========================================
from datetime import date, timedelta

class MyDateTime(date):
    def __init__(self, *arg, **kw):
        if len(kw):
            year = kw['year']
            doy = kw['doy']
            my_date = date(year=year, month=1, day=1) + timedelta
(days=doy-1)
            date.__init__(self, year = my_date.year, month =
my_date.month, day = my_date.day)
        else:
            date.__init__(self, *arg)

date1 = MyDateTime(2008, 12, 19)
date2 = MyDateTime(year=2008, doy=354)
=========================================

It works fine when I don't supply any keyword arguments. But if I do,
TypeError is happening:

TypeError: function takes exactly 3 arguments (1 given)

Could you help me to understand where I am wrong?

Thanks
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to