Repository URL to install this package:
Version:
3.4.34 ▾
|
import logging
import pytz
from datetime import date, timedelta, datetime, time
from operator import itemgetter, attrgetter
from openstack_dashboard import api
from openstack_dashboard import policy
def roundTime(time, modulo):
if ":" in time:
time = time.split(":")
time_new = int(time[1])
off = divmod(time_new, modulo)
if off[1] >= 10:
if off[0] >= 3:
return str(int(time[0])+1).zfill(2)+":"+"15"
return time[0]+":"+str((modulo - off[1] + modulo) + time_new)
else:
if off[0] >= 3:
return str(int(time[0])+1).zfill(2)+":"+"00"
return time[0]+":"+str((modulo - off[1]) + time_new)
def populate_time_list():
current_date = date.today()
min_time = datetime.combine(current_date, time.min)
max_time = datetime.combine(current_date, time.max)
start_time = min_time
times = []
while start_time <= max_time:
times.append(start_time)
start_time+=timedelta(minutes=15)
time_list = [(t.strftime('%I:%M %p'), t.strftime('%I:%M %p')) for t in times]
return time_list
def get_time_zone(request):
tz = 'UTC'
try:
tz = request._get_cookies()['django_timezone']
except:
try:
tz = request.COOKIES['django_timezone']
except:
pass
return tz
def get_local_time(record_time, input_format, output_format, tz, tz1=None):
"""
Convert and return the date and time - from GMT to local time
"""
try:
if record_time in (0, None, ''):
return ''
else:
if not input_format \
or input_format == None \
or input_format == '':
input_format = '%Y-%m-%dT%H:%M:%S.%f';
if not output_format \
or output_format == None \
or output_format == '':
output_format = "%m/%d/%Y %I:%M:%S %p";
local_time = datetime.strptime(
record_time, input_format)
local_tz = pytz.timezone(tz)
from_zone = pytz.timezone('UTC')
if tz1 is not None:
from_zone = pytz.timezone(tz1)
local_time = local_time.replace(tzinfo=from_zone)
local_time = local_time.astimezone(local_tz)
local_time = datetime.strftime(
local_time, output_format)
return local_time
except Exception as ex:
LOG.exception(ex)
return record_time
def getStartTime(request):
cookie_tz = get_time_zone(request)
local_time = get_local_time(datetime.now().strftime('%m/%d/%Y %I:%M %p'), "%m/%d/%Y %I:%M %p", "%m/%d/%Y %I:%M %p", cookie_tz).split(" ")
return roundTime(local_time[1], 15)+" "+local_time[2]