diff options
Diffstat (limited to 'pyload/network/CookieJar.py')
-rw-r--r-- | pyload/network/CookieJar.py | 54 |
1 files changed, 10 insertions, 44 deletions
diff --git a/pyload/network/CookieJar.py b/pyload/network/CookieJar.py index ea2c43a9e..3d39c66b9 100644 --- a/pyload/network/CookieJar.py +++ b/pyload/network/CookieJar.py @@ -1,53 +1,19 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: mkaay, RaNaN -""" - from time import time +from Cookie import SimpleCookie -# TODO: replace with simplecookie? -class CookieJar(): - def __init__(self, pluginname): - self.cookies = {} - self.pluginname = pluginname - - def __repr__(self): - return ("<CookieJar plugin=%s>\n\t" % self.pluginname) + "\n\t".join(self.cookies.values()) - - def addCookies(self, clist): - for c in clist: - name = c.split("\t")[5] - self.cookies[name] = c - - def getCookies(self): - return self.cookies.values() +class CookieJar(SimpleCookie): def getCookie(self, name): - if name in self.cookies: - return self.cookies[name].split("\t")[6] - else: - return None + return self[name].value - def setCookie(self, domain, name, value, path="/", exp=None): + def setCookie(self, domain, name, value, path="/", exp=None, secure="FALSE"): if not exp: exp = time() + 3600 * 24 * 180 - # dot makes it valid on all subdomains - s = ".%s TRUE %s FALSE %s %s %s" % (domain.strip("."), path, exp, name, value) - self.cookies[name] = s - - def clear(self): - self.cookies = {}
\ No newline at end of file + self[name] = value + self[name]["domain"] = domain + self[name]["path"] = path + self[name]["expires"] = exp + if secure == "TRUE": + self[name]["secure"] = secure |