gh-112240: Add option to calendar module CLI to specify the weekday to start each week (GH-112241)
https://github.com/python/cpython/commit/2c089b09ac0872e08d146c55ed60d754154... commit: 2c089b09ac0872e08d146c55ed60d754154761c3 branch: main author: Steven Ward <planet36@users.noreply.github.com> committer: serhiy-storchaka <storchaka@gmail.com> date: 2024-01-29T16:58:21Z summary: gh-112240: Add option to calendar module CLI to specify the weekday to start each week (GH-112241) files: A Misc/NEWS.d/next/Library/2023-11-18-16-30-21.gh-issue-112240.YXS0tj.rst M Doc/library/calendar.rst M Lib/calendar.py diff --git a/Doc/library/calendar.rst b/Doc/library/calendar.rst index 6586f539a8da4f..c4dcf5641d6066 100644 --- a/Doc/library/calendar.rst +++ b/Doc/library/calendar.rst @@ -586,10 +586,16 @@ The following options are accepted: or as an HTML document. +.. option:: --first-weekday WEEKDAY, -f WEEKDAY + + The weekday to start each week. + Must be a number between 0 (Monday) and 6 (Sunday). + Defaults to 0. + + .. option:: year The year to print the calendar for. - Must be a number between 1 and 9999. Defaults to the current year. diff --git a/Lib/calendar.py b/Lib/calendar.py index 3c79540f986b63..833ce331b14a0c 100644 --- a/Lib/calendar.py +++ b/Lib/calendar.py @@ -734,6 +734,11 @@ def main(args=None): choices=("text", "html"), help="output type (text or html)" ) + parser.add_argument( + "-f", "--first-weekday", + type=int, default=0, + help="weekday (0 is Monday, 6 is Sunday) to start each week (default 0)" + ) parser.add_argument( "year", nargs='?', type=int, @@ -761,6 +766,7 @@ def main(args=None): cal = LocaleHTMLCalendar(locale=locale) else: cal = HTMLCalendar() + cal.setfirstweekday(options.first_weekday) encoding = options.encoding if encoding is None: encoding = sys.getdefaultencoding() @@ -775,6 +781,7 @@ def main(args=None): cal = LocaleTextCalendar(locale=locale) else: cal = TextCalendar() + cal.setfirstweekday(options.first_weekday) optdict = dict(w=options.width, l=options.lines) if options.month is None: optdict["c"] = options.spacing diff --git a/Misc/NEWS.d/next/Library/2023-11-18-16-30-21.gh-issue-112240.YXS0tj.rst b/Misc/NEWS.d/next/Library/2023-11-18-16-30-21.gh-issue-112240.YXS0tj.rst new file mode 100644 index 00000000000000..686f0311e80dcb --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-11-18-16-30-21.gh-issue-112240.YXS0tj.rst @@ -0,0 +1,2 @@ +Add option to calendar module CLI to specify the weekday to start each week. +Patch by Steven Ward.
participants (1)
-
serhiy-storchaka