Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / tlslite / tlslite / utils / datefuncs.py
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)