summaryrefslogtreecommitdiff
path: root/.config/uzbl/scripts/cookies.py
diff options
context:
space:
mode:
Diffstat (limited to '.config/uzbl/scripts/cookies.py')
-rwxr-xr-x.config/uzbl/scripts/cookies.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/.config/uzbl/scripts/cookies.py b/.config/uzbl/scripts/cookies.py
new file mode 100755
index 0000000..10f90fa
--- /dev/null
+++ b/.config/uzbl/scripts/cookies.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+
+import StringIO, cookielib, os, sys, urllib2
+
+if __name__ == '__main__':
+ action = sys.argv[8]
+ uri = urllib2.urlparse.ParseResult(
+ scheme=sys.argv[9],
+ netloc=sys.argv[10],
+ path=sys.argv[11],
+ params='',
+ query='',
+ fragment='').geturl()
+ set_cookie = sys.argv[12] if len(sys.argv)>12 else None
+
+ if 'XDG_DATA_HOME' in os.environ.keys() and os.environ['XDG_DATA_HOME']:
+ f = os.path.join(os.environ['XDG_DATA_HOME'],'uzbl/cookies.txt')
+ else:
+ f = os.path.join(os.environ['HOME'],'.local/share/uzbl/cookies.txt')
+ jar = cookielib.MozillaCookieJar(f)
+
+ try:
+ jar.load(ignore_discard=True)
+ except:
+ pass
+
+ req = urllib2.Request(uri)
+
+ if action == 'GET':
+ jar.add_cookie_header(req)
+ if req.has_header('Cookie'):
+ print req.get_header('Cookie')
+ elif action == 'PUT':
+ hdr = urllib2.httplib.HTTPMessage(StringIO.StringIO('Set-Cookie: %s' % set_cookie))
+ res = urllib2.addinfourl(StringIO.StringIO(), hdr, req.get_full_url())
+ jar.extract_cookies(res,req)
+ jar.save(ignore_discard=True)