mirror of
https://github.com/python/cpython.git
synced 2025-07-29 14:15:07 +00:00
Fix: #1836: Off-by-one bug in TimedRotatingFileHandler rollover calculation. Patch thanks to Kathryn M. Kowalski.
This commit is contained in:
parent
aa0de3f130
commit
ae747dccab
1 changed files with 5 additions and 2 deletions
|
@ -228,13 +228,16 @@ class TimedRotatingFileHandler(BaseRotatingHandler):
|
|||
# Days to rollover is 6 - 5 + 3, or 4. In this case, it's the
|
||||
# number of days left in the current week (1) plus the number
|
||||
# of days in the next week until the rollover day (3).
|
||||
# The calculations described in 2) and 3) above need to have a day added.
|
||||
# This is because the above time calculation takes us to midnight on this
|
||||
# day, i.e. the start of the next day.
|
||||
if when.startswith('W'):
|
||||
day = t[6] # 0 is Monday
|
||||
if day != self.dayOfWeek:
|
||||
if day < self.dayOfWeek:
|
||||
daysToWait = self.dayOfWeek - day - 1
|
||||
daysToWait = self.dayOfWeek - day
|
||||
else:
|
||||
daysToWait = 6 - day + self.dayOfWeek
|
||||
daysToWait = 6 - day + self.dayOfWeek + 1
|
||||
self.rolloverAt = self.rolloverAt + (daysToWait * (60 * 60 * 24))
|
||||
|
||||
#print "Will rollover at %d, %d seconds from now" % (self.rolloverAt, self.rolloverAt - currentTime)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue