Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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]