diff options
Diffstat (limited to 'paste/wareweb/cookie.py')
| -rw-r--r-- | paste/wareweb/cookie.py | 28 |
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 |
