From d883ef9c717061d6cd68aa61ae8292d927f3c472 Mon Sep 17 00:00:00 2001 From: mjtnix Date: Sun, 14 Oct 2007 21:44:21 +0000 Subject: hack for commas in cookies git-svn-id: http://freebase-python.googlecode.com/svn/trunk@13 5914aa95-5b3a-0410-a3b5-7b719e7fe9b2 --- freebase/api/httplib2cookie.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/freebase/api/httplib2cookie.py b/freebase/api/httplib2cookie.py index 51add51..1004c77 100755 --- a/freebase/api/httplib2cookie.py +++ b/freebase/api/httplib2cookie.py @@ -33,6 +33,7 @@ # # +import re import httplib2 from httplib2 import Http @@ -108,8 +109,14 @@ class DummyMessage(object): v = self.response.get(k.lower(), None) if k not in self.response: return [] - return [self.response[k]] - + #return self.response[k].split(re.compile(',\\s*')) + + # httplib2 joins multiple values for the same header + # using ','. but the netscape cookie format uses ',' + # as part of the expires= date format. so we have + # to split carefully here - header.split(',') won't do it. + HEADERVAL= re.compile(r'\s*(([^,]|(,\s*\d))+)') + return [h[0] for h in HEADERVAL.findall(self.response[k])] class CookiefulHttp(Http): """Subclass of httplib2.Http that keeps cookie state -- cgit v1.3.1