Commit graph

63 commits

Author SHA1 Message Date
Wulian233
5976432138
gh-137634: Modernize calendar.HTMLCalendar output (#137635) 2025-10-14 13:25:12 +03:00
Jakub Kulík
f60f8225ed
gh-137481: Fix test_calendar on Solaris and OpenIndiana (GH-138156)
In some locales (e.g. pt_PT.UTF-8), the abbreviated weekday names
are longer than three character.
2025-08-26 14:21:09 +03:00
Scott Noyes
3143ceeb1d
gh-137481: Fix abbreviation of day names in TextCalendar (GH-137482)
Use the length of the longest day name in the current locale, rather
than a constant 9, to decide if the names should be abbreviated.
2025-08-20 19:55:50 +03:00
Dzmitry Plashchynski
438cbd857a
gh-131146: Fix month names in a "standalone form" in calendar module (GH-131147)
The calendar module displays month names in some locales using the genitive case.
This is grammatically incorrect, as the nominative case should be used when the month
is named by itself. To address this issue, this change introduces new lists
`standalone_month_name` and `standalone_month_abbr` that contain month names in
the nominative case -- or more generally, in the form that should be used to
name the month itself, rather than form a date.

The module now uses the `%OB` format specifier to get month names in this form
where available.
2025-07-31 14:06:33 +02:00
Wulian233
f90483e13a
gh-135001: Explicitly specify the encoding parameter value of calendar.HTMLCalendar as 'utf-8' (#135002) 2025-06-09 15:40:09 +02:00
Serhiy Storchaka
2602d8ae98
gh-71339: Use new assertion methods in tests (GH-129046) 2025-05-22 13:17:22 +03:00
Hugo van Kemenade
4ac916ae33
gh-130645: Add color to stdlib argparse CLIs (gh-133380) 2025-05-05 19:46:46 +02:00
Nadeshiko Manju
3be7498d24
gh-126476: Raise IllegalMonthError for calendar.formatmonth() when the input month is not correct (GH-126484)
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2024-11-15 11:03:06 -08:00
Serhiy Storchaka
04bfea2d26
gh-66436: Improved prog default value for argparse.ArgumentParser (GH-124799)
It can now have one of three forms:

* basename(argv0) -- for simple scripts
* python arv0 -- for directories, ZIP files, etc
* python -m module -- for imported modules

Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
2024-10-01 22:51:40 +03:00
Bart Skowron
2aba047f0a
gh-69714: Make calendar module fully tested (#93655)
There are 3 paths to use `locale` argument in
`calendar.Locale{Text|HTML}Calendar.__init__(..., locale=None)`:
(1) `locale=None` -- denotes the "default locale"[1]
(2) `locale=""` -- denotes the native environment
(3) `locale=other_valid_locale` -- denotes a custom locale

So far case (2) is covered and case (1) is in 78935daf5a (same branch).
This commit adds a remaining case (3).

[1] In the current implementation, this translates into the following
approach:

GET current locale
IF current locale == "C" THEN
  SET current locale TO ""
  GET current locale
ENDIF

* Remove unreachable code (and increase test coverage)

This condition cannot be true. `_locale.setlocale()` from the C module
raises `locale.Error` instead of returning `None` for
`different_locale.__enter__` (where `self.oldlocale` is set).

* Expand the try clause to calls to `LocaleTextCalendar.formatmonthname()`.

This method temporarily changes the current locale to the given locale,
so `_locale.setlocale()` may raise `local.Error`.


Co-authored-by: Rohit Mediratta <rohitm@gmail.com>
Co-authored-by: Jessica McKellar <jesstess@mit.edu>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2023-07-22 15:20:40 +02:00
Victor Stinner
ae319e4b43
gh-105407: Remove unused imports in tests (#105408) 2023-06-06 22:50:43 +02:00
Alex Waygood
7d3931e94a
gh-104012: Ensure test_calendar.CalendarTestCase.test_deprecation_warning consistently passes (#104014) 2023-04-30 15:51:46 +00:00
Prince Roshan
84e7d0f0c7
gh-103636: issue warning for deprecated calendar constants (#103833)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2023-04-29 01:16:46 -06:00
Andre Hora
5e0865f22e
gh-101377: improving test_locale_calendar_formatweekday of calendar (#101378)
---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-03-14 22:36:31 -04:00
Hugo van Kemenade
f0d0be3493
gh-57539: Increase calendar test coverage (GH-93468)
Co-authored-by: Sean Fleming
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2022-06-07 10:44:29 +02:00
180909
48269ea9fd
bpo-46484:Add test for Calendar.iterweekdays (GH-30825) 2022-04-04 18:16:56 +01:00
Victor Stinner
7a0486eaa9
bpo-46659: calendar uses locale.getlocale() (GH-31166)
The calendar.LocaleTextCalendar and calendar.LocaleHTMLCalendar
classes module now use locale.getlocale(), instead of using
locale.getdefaultlocale(), if no locale is specified.
2022-02-08 00:24:09 +01:00
Nikita Sobolev
e5894ca8fd
bpo-46266: Add calendar day of week constants to __all__ (GH-30412) 2022-01-05 14:21:04 -06:00
Victor Stinner
fbf43f051e
bpo-41521: Rename blacklist parameter to not_exported (GH-21824)
Rename "blacklist" parameter of test.support.check__all__() to
"not_exported".
2020-08-17 07:20:40 +02:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
85339f5c22
bpo-35078: Allow customization of CSS class name of a month in calendar module (gh-10137)
Refactor formatweekday(), formatmonthname() methods in LocaleHTMLCalendar and LocaleTextCalendar classes in calendar module to call the base class methods. This enables customizable CSS classes for LocaleHTMLCalendar and LocaleTextCalendar.

Patch by Srinivas Reddy Thatiparthy
2020-06-02 13:33:09 +02:00
Alexander Belopolsky
66c88ce30c Closes bpo-28281: Remove year (1-9999) limits on the weekday() function. (#4109)
Patch by Mark Gollahon.
2017-10-26 15:34:11 -04:00
Alexander Belopolsky
fdd9b217c6 Closes bpo-28292: Implemented Calendar.itermonthdays3() and itermonthdays4(). (#4079)
Calendar.itermonthdates() will now consistently raise an exception when a date falls outside of the 0001-01-01 through 9999-12-31 range. To support applications that cannot tolerate such exceptions, the new methods itermonthdays3() and itermonthdays4() are added. The new methods return tuples and are not restricted by the range supported by datetime.date.

Thanks @serhiy-storchaka for suggesting the itermonthdays4() method and for the review.
2017-10-24 13:17:10 -04:00
Oz N Tiram
8b7a4cc40e bpo-30095: Make CSS classes used by calendar.HTMLCalendar customizable (GH-1439)
Several class attributes have been added to calendar.HTMLCalendar that allow customization of the CSS classes used in the resulting HTML. This can be done by subclasses HTMLCalendar and overwriting those class attributes (Patch by Oz Tiram).
2017-06-06 11:35:59 +02:00
Serhiy Storchaka
0595ed21ba Issue #28255: calendar.TextCalendar.prweek() no longer prints a space after
a weeks's calendar.  calendar.TextCalendar.pryear() no longer prints redundant
newline after a year's calendar.  Based on patch by Xiang Zhang.
2016-10-25 15:20:58 +03:00
Serhiy Storchaka
ecb90182f5 Issue #28255: calendar.TextCalendar().prmonth() no longer prints a space
at the start of new line after printing a month's calendar.  Patch by
Xiang Zhang.
2016-10-25 15:02:36 +03:00
Serhiy Storchaka
7ff51bd2b8 Issue #28255: calendar.TextCalendar().prmonth() no longer prints a space
at the start of new line after printing a month's calendar.  Patch by
Xiang Zhang.
2016-10-25 15:00:52 +03:00
Alexander Belopolsky
e3fd248c77 Issue #28253: Fixed calendar functions for extreme months: 0001-01 and 9999-12.
Methods itermonthdays() and itermonthdays2() are reimplemented so that they
don't call itermonthdates() which can cause datetime.date under/overflow.
2016-09-27 20:27:55 -04:00
Alexander Belopolsky
957b75699f Issue #28253: Fixed calendar functions for extreme months: 0001-01 and 9999-12.
Methods itermonthdays() and itermonthdays2() are reimplemented so that they
don't call itermonthdates() which can cause datetime.date under/overflow.
2016-09-27 20:26:39 -04:00
Serhiy Storchaka
2c1d3e320f Issue #23883: Removed redundant names from blacklists. 2016-01-16 11:05:11 +02:00
Martin Panter
4eb376c441 Issue #23883: Add missing APIs to calendar.__all__
Patch by Joel Taddei and Jacek Kołodziej.
2016-01-16 06:49:30 +00:00
Serhiy Storchaka
9785261d68 Issue #18973: Command-line interface of the calendar module now uses argparse
instead of optparse.
2015-11-01 17:14:27 +02:00
Berker Peksag
ce643913a9 Issue #9517: Move script_helper to the support package.
Patch by Christie Wilson.
2015-05-06 06:33:17 +03:00
Serhiy Storchaka
aef859c5ee Issue #18982: Add tests for CLI of the calendar module. 2015-02-05 15:14:35 +02:00
Ezio Melotti
87f09371b0 #18856: improve test coverage of the calendar module. Patch by Madison May. 2013-09-14 04:55:53 +03:00
Serhiy Storchaka
cc9e5369d3 Added test to ensure localized calendar methods return strings and not bytes. 2013-01-31 16:01:21 +02:00
Serhiy Storchaka
f9fcdb7e90 Added test to ensure localized calendar methods return strings and not bytes. 2013-01-31 16:00:42 +02:00
Ezio Melotti
f82b9371f5 #15421: merge with 3.2. 2012-09-21 17:29:20 +03:00
Ezio Melotti
85710a40e7 #15421: fix an OverflowError in Calendar.itermonthdates() after datetime.MAXYEAR. Patch by Cédric Krier. 2012-09-21 17:26:35 +03:00
R David Murray
bb75678003 #14796: fix failure of new calendar test on windows. 2012-05-30 08:10:54 -04:00
R David Murray
d0c8695617 #14796: improve calendar test coverage.
Patch by Oleg Plakhotnyuk.
2012-05-29 12:55:05 -04:00
Ezio Melotti
d8b509b192 #13012: use splitlines(keepends=True/False) instead of splitlines(0/1). 2011-09-28 17:37:55 +03:00
Senthil Kumaran
962fed9101 Fix closes Issue10087 - fixing the output of calendar display in the html format. Patch by Chris Lambacher. Test Contributed by catherine. 2011-08-11 09:22:52 +08:00
R. David Murray
1daaf9e68e #9361: add some tests for calendar.leapdays
Patch by John Chandler.
2010-12-31 19:21:14 +00:00
Ezio Melotti
b3aedd4862 #9424: Replace deprecated assert* methods in the Python test suite. 2010-11-20 19:04:17 +00:00
Georg Brandl
9450cc056a Fix r85728: use "" to mean the system default locale, which should work on more systems. 2010-10-20 06:50:19 +00:00
Georg Brandl
7004bd1a3d #10092: Properly reset locale in Locale*Calendar classes. The context manager was buggy because setlocale() returns the *new* locale, not the old. Also add a test for this. 2010-10-19 18:54:25 +00:00
Brett Cannon
cfae36fa8e Test calendar.monthrange.
Closes issue 9342. Thanks John Chandler for the patch.
2010-07-23 13:54:14 +00:00
Alexander Belopolsky
43ca710a44 Issue 6280: Tests and simpler implementation for calendar.timegm 2010-06-14 17:32:03 +00:00
Mark Dickinson
934896dc09 Merged revisions 69846 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69846 | mark.dickinson | 2009-02-21 20:27:01 +0000 (Sat, 21 Feb 2009) | 2 lines

  Issue #5341: Fix a variety of spelling errors.
........
2009-02-21 20:59:32 +00:00
Benjamin Peterson
ee8712cda4 #2621 rename test.test_support to test.support 2008-05-20 21:35:26 +00:00