summaryrefslogtreecommitdiff
path: root/paste/wareweb/cookie.py
diff options
context:
space:
mode:
Diffstat (limited to 'paste/wareweb/cookie.py')
-rw-r--r--paste/wareweb/cookie.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/paste/wareweb/cookie.py b/paste/wareweb/cookie.py
new file mode 100644
index 0000000..a1a2625
--- /dev/null
+++ b/paste/wareweb/cookie.py
@@ -0,0 +1,28 @@
+import timeinterval
+
+class Cookie(object):
+
+ def __init__(self, name, value, path, expires=None, secure=False):
+ self.name = name
+ self.value = value
+ self.path = path
+ self.secure = secure
+ if expires == 'ONCLOSE' or not expires:
+ expires = None
+ elif expires == 'NOW' or expires == 'NEVER':
+ expires = time.gmtime(time.time())
+ if expires == 'NEVER':
+ expires = (expires[0] + 10,) + expires[1:]
+ expires = time.strftime("%a, %d-%b-%Y %H:%M:%S GMT", expires)
+ else:
+ if isinstance(expires, (str, unicode)) and expires.startswith('+'):
+ interval = timeinterval.time_decode(expires[1:])
+ expires = time.time() + interval
+ if isinstance(expires, (int, long, float)):
+ expires = time.gmtime(expires)
+ if isinstance(expires, (tuple, time.struct_time)):
+ expires = time.strftime("%a, %d-%b-%Y %H:%M:%S GMT", expires)
+ self.expires = expires
+
+ def __str__(self):
+ raise NotImplementedError