Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #29808
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Subject | Re: A dateutil error has appeared, due to updates? How to fix? |
| Date | 2012-09-23 13:38 +0200 |
| Organization | None |
| References | <vj43j9-df9.ln1@chris.zbmc.eu> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.1116.1348400237.27098.python-list@python.org> (permalink) |
tinnews@isbd.co.uk wrote:
> I have a python script which uses the dateutil module with the
> following:-
>
> import sys
> import datetime
> import icalendar
> from dateutil.relativedelta import relativedelta
>
> The section of code which uses relativedelta is as follows:-
>
> #
> #
> # If the event is a repeating event with a start date in the
> # past then we add the repeat interval until we find the next
> # occurrence
> #
> if eventDate < datetime.date.today():
> if event.has_key('RRULE'):
> freq = event.decoded('RRULE')['FREQ'][0]
> if event.decoded('RRULE').has_key('INTERVAL'):
> interval = event.decoded('RRULE')['INTERVAL'][0]
> else:
> interval = 1;
> if 'WEEKLY' == freq:
> delta = relativedelta(weeks=+interval)
> if 'MONTHLY' == freq:
> delta = relativedelta(months=+interval)
> if 'YEARLY' == freq:
> delta = relativedelta(years=+interval)
> while eventDate < datetime.date.today():
> eventDate += delta
> else:
> continue # if it's a non-repeating event in the
> past
>
>
> It used to work and all I have done meanwhile is to update my xubuntu
> system as fixes are released. I'm now getting the error:-
>
> Traceback (most recent call last):
> File "/home/chris/bin/calics.py", line 62, in <module>
> eventDate += delta
> File "/usr/lib/python2.7/dist-packages/dateutil/relativedelta.py",
> line 261, in __radd__
> day = min(calendar.monthrange(year, month)[1],
> AttributeError: 'module' object has no attribute 'monthrange'
>
> Have I lost a module somewhere in the updates or has something in
> python changed such that my code no longer works as it used to?
>
> Can anyone help diagnose this please.
You probably have a file named calendar.py in your working directory:
$ python -c 'from dateutil.relativedelta import calendar; print
calendar.__file__'
/usr/lib/python2.7/calendar.pyc
$ touch calendar.py
$ python -c 'from dateutil.relativedelta import calendar; print
calendar.__file__'
calendar.py
Rename calendar.py in your working directory (and don't forget to delete the
corresponding calendar.pyc) -- and dateutil should work again.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
A dateutil error has appeared, due to updates? How to fix? tinnews@isbd.co.uk - 2012-09-23 11:24 +0100
Re: A dateutil error has appeared, due to updates? How to fix? Peter Otten <__peter__@web.de> - 2012-09-23 13:38 +0200
Re: A dateutil error has appeared, due to updates? How to fix? tinnews@isbd.co.uk - 2012-09-23 16:26 +0100
csiph-web