Package tlslite :: Package utils :: Module datefuncs |
[hide private]
[frames] | no frames]

# Source Code for Module tlslite.utils.datefuncs

     1  # Author: Trevor Perrin
     2  # See the LICENSE file for legal information regarding use of this file.
     3
     4  import os
     5
     6  #Functions for manipulating datetime objects
     7  #CCYY-MM-DDThh:mm:ssZ
     8 -def parseDateClass(s):
     9      year, month, day = s.split("-")
    10      day, tail = day[:2], day[2:]
    11      hour, minute, second = tail[1:].split(":")
    12      second = second[:2]
    13      year, month, day = int(year), int(month), int(day)
    14      hour, minute, second = int(hour), int(minute), int(second)
    15      return createDateClass(year, month, day, hour, minute, second)
    16
    17
    18  if os.name != "java":
    19      from datetime import datetime, timedelta
    20
    21      #Helper functions for working with a date/time class
    22 -    def createDateClass(year, month, day, hour, minute, second):
    23          return datetime(year, month, day, hour, minute, second)
    24
    25 -    def printDateClass(d):
    26          #Split off fractional seconds, append 'Z'
    27          return d.isoformat().split(".")[0]+"Z"
    28
    29 -    def getNow():
    30          return datetime.utcnow()
    31
    32 -    def getHoursFromNow(hours):
    33          return datetime.utcnow() + timedelta(hours=hours)
    34
    35 -    def getMinutesFromNow(minutes):
    36          return datetime.utcnow() + timedelta(minutes=minutes)
    37
    38 -    def isDateClassExpired(d):
    39          return d < datetime.utcnow()
    40
    41 -    def isDateClassBefore(d1, d2):
    42          return d1 < d2
    43
    44  else:
    45      #Jython 2.1 is missing lots of python 2.3 stuff,
    46      #which we have to emulate here:
    47      import java
    48      import jarray
    49
    50 -    def createDateClass(year, month, day, hour, minute, second):
    51          c = java.util.Calendar.getInstance()
    52          c.setTimeZone(java.util.TimeZone.getTimeZone("UTC"))
    53          c.set(year, month-1, day, hour, minute, second)
    54          return c
    55
    56 -    def printDateClass(d):
    57          return "%04d-%02d-%02dT%02d:%02d:%02dZ" % \
    58          (d.get(d.YEAR), d.get(d.MONTH)+1, d.get(d.DATE), \
    59          d.get(d.HOUR_OF_DAY), d.get(d.MINUTE), d.get(d.SECOND))
    60
    61 -    def getNow():
    62          c = java.util.Calendar.getInstance()
    63          c.setTimeZone(java.util.TimeZone.getTimeZone("UTC"))
    64          c.get(c.HOUR) #force refresh?
    65          return c
    66
    67 -    def getHoursFromNow(hours):
    68          d = getNow()
    69          d.add(d.HOUR, hours)
    70          return d
    71
    72 -    def isDateClassExpired(d):
    73          n = getNow()
    74          return d.before(n)
    75
    76 -    def isDateClassBefore(d1, d2):
    77          return d1.before(d2)
    78