@@ -53,19 +53,23 @@ def convert_day_of_week(tokens, now=datetime.datetime.now()):
53
53
[8/13/2018, 'at', '3']
54
54
>>> convert_day_of_week(['past', 'Monday', 'at', '3'], now)
55
55
[7/30/2018, 'at', '3']
56
+ >>> convert_day_of_week(['sat', 'at', '5'], now)
57
+ [8/4/2018, 'at', '5']
58
+ >>> convert_day_of_week(['suNday', 'at', '5'], now)
59
+ [8/5/2018, 'at', '5']
56
60
"""
57
61
tokens = tokens .copy ()
58
62
for i in range (7 ):
59
63
day = now + datetime .timedelta (i )
60
64
day_of_week = DAYS_OF_WEEK [day .weekday ()]
61
65
62
66
for string in (day_of_week , day_of_week [:3 ], day_of_week [:2 ]):
63
- if string in tokens :
64
- index = tokens . index ( string )
65
- new_index , tokens , weeks = extract_weeks_offset (tokens , end = index )
66
- day = now + datetime .timedelta (weeks * 7 + i )
67
- tokens [new_index ] = DayToken (day .month , day .day , day .year )
68
- break
67
+ for index , token in enumerate ( tokens ) :
68
+ if isinstance ( token , str ) and string . lower () == token . lower ():
69
+ new_index , tokens , weeks = extract_weeks_offset (tokens , end = index )
70
+ day = now + datetime .timedelta (weeks * 7 + i )
71
+ tokens [new_index ] = DayToken (day .month , day .day , day .year )
72
+ break
69
73
return tokens
70
74
71
75
0 commit comments