10f90fac57f6c95e7d520ba92f704fe3dabe7903
[uzbl-mobile] / examples / data / uzbl / scripts / cookies.py
1 #!/usr/bin/env python
2
3 import StringIO, cookielib, os, sys, urllib2
4
5 if __name__ == '__main__':
6     action = sys.argv[8]
7     uri = urllib2.urlparse.ParseResult(
8             scheme=sys.argv[9],
9             netloc=sys.argv[10],
10             path=sys.argv[11],
11             params='',
12             query='',
13             fragment='').geturl()
14     set_cookie = sys.argv[12] if len(sys.argv)>12 else None
15
16     if 'XDG_DATA_HOME' in os.environ.keys() and os.environ['XDG_DATA_HOME']:
17         f = os.path.join(os.environ['XDG_DATA_HOME'],'uzbl/cookies.txt')
18     else:
19         f = os.path.join(os.environ['HOME'],'.local/share/uzbl/cookies.txt')
20     jar = cookielib.MozillaCookieJar(f)
21
22     try:
23         jar.load(ignore_discard=True)
24     except:
25         pass
26
27     req = urllib2.Request(uri)
28
29     if action == 'GET':
30         jar.add_cookie_header(req)
31         if req.has_header('Cookie'):
32             print req.get_header('Cookie')
33     elif action == 'PUT':
34         hdr = urllib2.httplib.HTTPMessage(StringIO.StringIO('Set-Cookie: %s' % set_cookie))
35         res = urllib2.addinfourl(StringIO.StringIO(), hdr, req.get_full_url())
36         jar.extract_cookies(res,req)
37         jar.save(ignore_discard=True)