From 3de84281a000f1722286903ce44c3df73e2bdfdf Mon Sep 17 00:00:00 2001 From: Hussain Nagaria Date: Sun, 17 Dec 2023 14:41:47 +0530 Subject: [PATCH] refactor: get_last_day_of_week supports `as_str` + docs --- frappe/utils/data.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frappe/utils/data.py b/frappe/utils/data.py index c0468a2324..a25cefa6f6 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -507,10 +507,14 @@ def get_year_start(dt: DateTimeLikeObject, as_str=False) -> str | datetime.date: return date.strftime(DATE_FORMAT) if as_str else date -def get_last_day_of_week(dt: DateTimeLikeObject) -> datetime.date: - """Returns the last day of the week (first day as per System Settings or Sunday by default) for the given datetime like object (`dt`).""" +def get_last_day_of_week(dt: DateTimeLikeObject, as_str=False) -> datetime.date: + """Returns the last day of the week (first day as per System Settings or Sunday by default) for the given datetime like object (`dt`). + + If `as_str` is True, the last day of the week is returned as a string in `yyyy-mm-dd` format. + """ dt = get_first_day_of_week(dt) - return dt + datetime.timedelta(days=6) + date = dt + datetime.timedelta(days=6) + return date.strftime(DATE_FORMAT) if as_str else date def get_last_day(dt):