/library/Cookies.py
Python | 56 lines | 56 code | 0 blank | 0 comment | 0 complexity | 86a8d9f0f67aabc240150254cd19a889 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
- def getCookie(key):
- JS("""
- var cookies = Cookies_loadCookies();
- var value = cookies[key];
- return (value == null) ? null : value;
- """)
-
- # expires can be int or Date
- def setCookie(name, value, expires, domain=None, path=None, secure=False):
- JS("""
- if (expires instanceof Date) expires = expires.getTime();
- if (pyjslib_isUndefined(domain)) domain = null;
- if (pyjslib_isUndefined(path)) path = null;
- if (pyjslib_isUndefined(secure)) secure = false;
-
- var date = new Date(expires);
-
- var c = encodeURIComponent(name) + '=' + encodeURIComponent(value);
- c += ';expires=' + date.toGMTString();
-
- if (domain)
- c += ';domain=' + domain;
- if (path)
- c += ';path=' + path;
- if (secure)
- c += ';secure';
-
- $doc.cookie = c;
- """)
-
- def loadCookies():
- JS("""
- var cookies = {};
-
- var docCookie = $doc.cookie;
- if (docCookie && docCookie != '') {
- var crumbs = docCookie.split('; ');
- for (var i = 0; i < crumbs.length; ++i) {
- var name, value;
-
- var eqIdx = crumbs[i].indexOf('=');
- if (eqIdx == -1) {
- name = crumbs[i];
- value = '';
- } else {
- name = crumbs[i].substring(0, eqIdx);
- value = crumbs[i].substring(eqIdx + 1);
- }
-
- cookies[decodeURIComponent(name)] = decodeURIComponent(value);
- }
- }
-
- return cookies;
- """)
-