time between now and the next 2:30 am?
Jim
jim.hefferon at gmail.com
Fri Jul 23 19:36:43 EDT 2010
Thank you again to everyone; I greatly appreciate the help. I ended
with essentially what Christian advised and it seems to work fine.
FWIW, below is the rouine (I couldn't figure out how to do it without
the kludgy x variable). The background is that this is a Django
context processor that makes available the time until the next 2:30
because that is when the web site is rebuilt.
I hope the code isn't too much mangled by the online editor,
Jim
.............................................................................
import time, datetime
from django.conf import settings
WARNING_MINS=10 # How many mins before update time should start
warning?
WARNING_SECS=60*WARNING_MINS
def current_time_processor(req):
"""Add current time information to the Context
"""
# Calculate time until the next 2:30 am
x=datetime.datetime(2010,7,23) # actual date doesn't matter?
dt_localtime=x.fromtimestamp(time.time())
dt_twothirty=dt_localtime.replace(hour=settings.UPDATE_TIME_HOURS,minute=settings.UPDATE_TIME_MINS,second=0,microsecond=0)
dd_diff=dt_twothirty-dt_localtime
secs_until_twothirty=dd_diff.seconds
if secs_until_twothirty<WARNING_SECS:
w='This site shuts down every night at %02d:%02d local time,
to refresh the database. There are fewer than %d minutes until that
shutdown. If you have not completed your work when the site shuts
down then you will lose your work.' %
(settings.UPDATE_TIME_HOURS,settings.UPDATE_TIME_MINS,WARNING_MINS,)
else:
w=None
return {'CURRENT_LOCAL_TIME': time.asctime(time.localtime()),
'TIME_WARNING':w}
More information about the Python-list
mailing list