Replaced my dumb way of calculating seconds to midnight with Tim Peters' much more sensible suggestion. What was I thinking ?!?

This commit is contained in:
Vinay Sajip 2006-05-02 08:35:36 +00:00
parent 9652baaf44
commit 4b4a63e30a
1 changed files with 4 additions and 6 deletions

View File

@ -44,6 +44,8 @@ DEFAULT_HTTP_LOGGING_PORT = 9022
DEFAULT_SOAP_LOGGING_PORT = 9023 DEFAULT_SOAP_LOGGING_PORT = 9023
SYSLOG_UDP_PORT = 514 SYSLOG_UDP_PORT = 514
_MIDNIGHT = 24 * 60 * 60 # number of seconds in a day
class BaseRotatingHandler(logging.FileHandler): class BaseRotatingHandler(logging.FileHandler):
""" """
Base class for handlers that rotate log files at a certain point. Base class for handlers that rotate log files at a certain point.
@ -217,12 +219,8 @@ class TimedRotatingFileHandler(BaseRotatingHandler):
currentMinute = t[4] currentMinute = t[4]
currentSecond = t[5] currentSecond = t[5]
# r is the number of seconds left between now and midnight # r is the number of seconds left between now and midnight
if (currentMinute == 0) and (currentSecond == 0): r = _MIDNIGHT - ((currentHour * 60 + currentMinute) * 60 +
r = (24 - currentHour) * 60 * 60 # number of hours in seconds currentSecond)
else:
r = (23 - currentHour) * 60 * 60
r = r + (59 - currentMinute) * 60 # plus the number of minutes (in secs)
r = r + (60 - currentSecond) # plus the number of seconds
self.rolloverAt = currentTime + r self.rolloverAt = currentTime + r
# If we are rolling over on a certain day, add in the number of days until # If we are rolling over on a certain day, add in the number of days until
# the next rollover, but offset by 1 since we just calculated the time # the next rollover, but offset by 1 since we just calculated the time