aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorGravatar Brendan Taylor <whateley@gmail.com>2009-07-13 17:00:18 -0600
committerGravatar Brendan Taylor <whateley@gmail.com>2009-07-13 17:00:18 -0600
commitf90cf21c5561a4ae2b282d6e095c38d06f38840e (patch)
tree747f47f402caa8b2ba8b28ae911cd51093713b12 /examples
parentf52c73418f9a68bde9d2668e5215960a0f20cbcf (diff)
parente4ec794daa2a27f4476f53aacbf947f57a27ce5c (diff)
Merge branch 'experimental' of git://github.com/Dieterbe/uzbl into replace-expand-template
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/data/uzbl/scripts/cookies.py94
-rwxr-xr-xexamples/data/uzbl/scripts/cookies.sh1
2 files changed, 23 insertions, 72 deletions
diff --git a/examples/data/uzbl/scripts/cookies.py b/examples/data/uzbl/scripts/cookies.py
index c8cf8c0..10f90fa 100755
--- a/examples/data/uzbl/scripts/cookies.py
+++ b/examples/data/uzbl/scripts/cookies.py
@@ -1,87 +1,37 @@
#!/usr/bin/env python
-import cookielib, sys, os, urllib2
-
-class FakeRequest:
- def __init__(self, argv):
- self.argv = argv
- self.cookies = None
- if len(self.argv) == 12:
- self.cookies = self.argv[11]
- def get_full_url(self):
- #TODO: this is a hack, fix in uzbl.c!
- u = self.get_host()+self.argv[10]
- if self.argv[6].startswith('https'):
- u = 'https://'+u
- else:
- u = 'http://'+u
- return u
- def get_host(self):
- return self.argv[9]
- def get_type(self):
- return self.get_full_url().split(':')[0]
- def is_unverifiable(self):
- return False
- def get_origin_req_host(self):
- return self.argv[9]
- def has_header(self, header):
- if header == 'Cookie':
- return self.cookies!=None
- def get_header(self, header_name, default=None):
- if header_name == 'Cookie' and self.cookies:
- return self.cookies
- else:
- return default
- def header_items(self):
- if self.cookies:
- return [('Cookie',self.cookies)]
- else:
- return []
- def add_unredirected_header(self, key, header):
- if key == 'Cookie':
- self.cookies = header
-
-class FakeHeaders:
- def __init__(self, argv):
- self.argv = argv
- def getallmatchingheaders(self, header):
- if header == 'Set-Cookie' and len(self.argv) == 12:
- return ['Set-Cookie: '+self.argv[11]]
- else:
- return []
- def getheaders(self, header):
- if header == 'Set-Cookie' and len(self.argv) == 12:
- return [self.argv[11]]
- else:
- return []
-class FakeResponse:
- def __init__(self, argv):
- self.argv = argv
- def info(self):
- return FakeHeaders(self.argv)
+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']:
- jar = cookielib.MozillaCookieJar(
- os.path.join(os.environ['XDG_DATA_HOME'],'uzbl/cookies.txt'))
+ f = os.path.join(os.environ['XDG_DATA_HOME'],'uzbl/cookies.txt')
else:
- jar = cookielib.MozillaCookieJar(
- os.path.join(os.environ['HOME'],'.local/share/uzbl/cookies.txt'))
+ f = os.path.join(os.environ['HOME'],'.local/share/uzbl/cookies.txt')
+ jar = cookielib.MozillaCookieJar(f)
+
try:
- jar.load()
+ jar.load(ignore_discard=True)
except:
pass
- req = FakeRequest(sys.argv)
-
- action = sys.argv[8]
+ req = urllib2.Request(uri)
if action == 'GET':
jar.add_cookie_header(req)
- if req.cookies:
- print req.cookies
+ if req.has_header('Cookie'):
+ print req.get_header('Cookie')
elif action == 'PUT':
- res = FakeResponse(sys.argv)
+ 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) # save session cookies too
- #jar.save() # save everything but session cookies
+ jar.save(ignore_discard=True)
diff --git a/examples/data/uzbl/scripts/cookies.sh b/examples/data/uzbl/scripts/cookies.sh
index 56b9c79..4398a03 100755
--- a/examples/data/uzbl/scripts/cookies.sh
+++ b/examples/data/uzbl/scripts/cookies.sh
@@ -48,6 +48,7 @@ which zenity &>/dev/null || exit 2
# uri=${uri/http:\/\/} # strip 'http://' part
# host=${uri/\/*/}
action=$8 # GET/PUT
+shift
host=$9
shift
path=$9