@@ -80,70 +80,47 @@ def get_year_interval(year):
8080 """
8181 Get a tuple containing start date and end date for given year.
8282 """
83- year = int (year )
84- if year > get_utc_now_datetime ().year or year < 2010 :
83+ try :
84+ start = datetime .datetime (int (year ), 1 , 1 )
85+ end = start + relativedelta .relativedelta (years = 1 )
86+ except (ValueError , OverflowError ):
8587 raise WrongDateFormatException
86-
87- start = datetime .datetime (year , 1 , 1 )
88- end = start + relativedelta .relativedelta (years = 1 )
8988 return start , end
9089
9190
9291def get_month_interval (year , month ):
9392 """
9493 Get a tuple containing start date and end date for given year and month.
9594 """
96- year = int (year )
97- month = int (month )
98- if (
99- year > get_utc_now_datetime ().year
100- or year < 2010
101- or month < 1
102- or month > 12
103- ):
95+ try :
96+ start = datetime .datetime (int (year ), int (month ), 1 )
97+ end = start + relativedelta .relativedelta (months = 1 )
98+ except (ValueError , OverflowError ):
10499 raise WrongDateFormatException
105-
106- start = datetime .datetime (year , month , 1 )
107- end = start + relativedelta .relativedelta (months = 1 )
108100 return start , end
109101
110102
111103def get_week_interval (year , week ):
112104 """
113105 Get a tuple containing start date and end date for given year and week.
114106 """
115- year = int (year )
116- week = int (week )
117- if (
118- year > get_utc_now_datetime ().year
119- or year < 2010
120- or week < 1
121- or week > 52
122- ):
107+ try :
108+ start = datetime .date .fromisocalendar (int (year ), int (week ), 1 )
109+ end = start + relativedelta .relativedelta (days = 7 )
110+ except (ValueError , OverflowError ):
123111 raise WrongDateFormatException
124- start = datetime .date .fromisocalendar (year , week , 1 )
125- end = start + relativedelta .relativedelta (days = 7 )
126112 return start , end
127113
128114
129115def get_day_interval (year , month , day ):
130116 """
131117 Get a tuple containing start date and end date for given day.
132118 """
133- year = int (year )
134- month = int (month )
135- day = int (day )
136- if (
137- year > get_utc_now_datetime ().year
138- or year < 2010
139- or month < 1
140- or month > 12
141- or day < 1
142- or day > 31
143- ):
119+ try :
120+ start = datetime .datetime (int (year ), int (month ), int (day ))
121+ end = start + relativedelta .relativedelta (days = 1 )
122+ except (ValueError , OverflowError ):
144123 raise WrongDateFormatException
145- start = datetime .datetime (year , month , day )
146- end = start + relativedelta .relativedelta (days = 1 )
147124 return start , end
148125
149126
0 commit comments