Message119056
else:
--> ndays = (date(year, month + 1, 1) - first).days
return first.weekday(), ndays
Oh my God! The line with a pointer is so ugly!
On Mon, Oct 18, 2010 at 7:59 PM, Alexander Belopolsky <
report@bugs.python.org> wrote:
>
> Alexander Belopolsky <belopolsky@users.sourceforge.net> added the comment:
>
> The most pedantic implementation of calendar.isleap() would be
>
> from datetime import date, timedelta
> def isleap(year):
> return date(year, 3, 1) - date(year, 2, 1) == timedelta(29)
>
> Since python calendar only supports years in the range [1, 9999], the above
> will properly raise ValueError: year is out of range on negative or zero
> year. This also guarantees that calendar module's notion of leap year is
> the same as that of datetime module.
>
> If this is found to be a worthwhile change, I would also rewrite monthrange
> as
>
> def monthrange(year, month):
> first = date(year, month, 1)
> if month == 12:
> ndays = 31
> else:
> ndays = (date(year, month + 1, 1) - first).days
> return first.weekday(), ndays
>
> ----------
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <http://bugs.python.org/issue10073>
> _______________________________________
> |
File name |
Uploaded |
unnamed
|
Retro,
2010-10-18.18:17:09
|
|
Date |
User |
Action |
Args |
2010-10-18 18:17:11 | Retro | set | recipients:
+ Retro, georg.brandl, terry.reedy, belopolsky, pjenvey, eric.araujo, r.david.murray, shadikka |
2010-10-18 18:17:09 | Retro | link | issue10073 messages |
2010-10-18 18:17:09 | Retro | create | |
|