July 2002
Intermediate to advanced
608 pages
15h 46m
English
Credit: Mark Nenadov
You need to
access cookie information, which Netscape stores in a
cookie.txt file, in an easily usable way,
optionally transforming it into XML or SQL.
Classes are always good candidates for grouping data with the code that handles it:
class Cookie: "Models a single cookie" def _ _init_ _(self, cookieInfo): self.allInfo = tuple(cookieInfo) def getUrl(self): return self.allInfo[0] def getInfo(self, n): return self.allInfo[n] def generateSQL(self): sql = "INSERT INTO Cookie(Url,Data1,Data2,Data3,Data4,Data5) " sql += "VALUES('%s','%s','%s','%s','%s','%s');" % self.allInfo return sql def generateXML(self): xml = "<cookie url='%s' data1='%s' data2='%s' data3='%s'" \ " data4='%s' data5='%s' />" % self.allInfo return xml class CookieInfo: "models all cookies from a cookie.txt file" cookieSeparator = " " def _ _init_ _(self, cookiePathName): cookieFile = open(cookiePathName, "r") self.rawCookieContent = cookieFile.readlines( ) cookieFile.close( ) self.cookies = [] for line in self.rawCookieContent: if line[:1] == '#': pass elif line[:1] == '\n': pass else: self.cookies.append( Cookie(line.split(self.cookieSeparator))) def count(self): return len(self.cookies) _ _len_ _ = count # Find a cookie by URL and return a Cookie object, or None if not found def findCookieByURL(self, url): for cookie in self.cookies: if cookie.getUrl( ) == url: return cookie return None # Return list of Cookie objects containing the given string ...Read now
Unlock full access