Convenience method to set cookie on mechanize browser

This commit is contained in:
Kovid Goyal 2016-01-31 00:37:10 +05:30
parent 59d1a6f2c6
commit cf8fcfe82b

View File

@ -6,7 +6,7 @@ __copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en' __docformat__ = 'restructuredtext en'
import copy, httplib, ssl import copy, httplib, ssl
from cookielib import CookieJar from cookielib import CookieJar, Cookie
from mechanize import Browser as B, HTTPSHandler from mechanize import Browser as B, HTTPSHandler
@ -64,6 +64,15 @@ class Browser(B):
for cookie in jsbrowser.cookies: for cookie in jsbrowser.cookies:
self.cookiejar.set_cookie(cookie) self.cookiejar.set_cookie(cookie)
def set_cookie(self, name, value, domain, path='/'):
self.cookiejar.set_cookie(Cookie(
None, name, value,
None, False,
domain, True, False,
path, True,
False, None, False, None, None, None
))
@property @property
def cookiejar(self): def cookiejar(self):
return self._clone_actions['set_cookiejar'][1][0] return self._clone_actions['set_cookiejar'][1][0]