Helpviewer/CookieJar/CookieJar.py

changeset 945
8cd4d08fa9f6
parent 791
9ec2ac20e54e
child 1112
8a7d1b9d18db
equal deleted inserted replaced
944:1b59c4ba121e 945:8cd4d08fa9f6
16 16
17 from Utilities.AutoSaver import AutoSaver 17 from Utilities.AutoSaver import AutoSaver
18 import Utilities 18 import Utilities
19 import Preferences 19 import Preferences
20 20
21
21 class CookieJar(QNetworkCookieJar): 22 class CookieJar(QNetworkCookieJar):
22 """ 23 """
23 Class implementing a QNetworkCookieJar subclass with various accept policies. 24 Class implementing a QNetworkCookieJar subclass with various accept policies.
24 25
25 @signal cookiesChanged() emitted after the cookies have been changed 26 @signal cookiesChanged() emitted after the cookies have been changed
26 """ 27 """
27 cookiesChanged = pyqtSignal() 28 cookiesChanged = pyqtSignal()
28 29
29 JAR_VERSION = 23 30 JAR_VERSION = 23
30 31
31 AcceptAlways = 0 32 AcceptAlways = 0
32 AcceptNever = 1 33 AcceptNever = 1
33 AcceptOnlyFromSitesNavigatedTo = 2 34 AcceptOnlyFromSitesNavigatedTo = 2
34 35
35 KeepUntilExpire = 0 36 KeepUntilExpire = 0
36 KeepUntilExit = 1 37 KeepUntilExit = 1
37 KeepUntilTimeLimit = 2 38 KeepUntilTimeLimit = 2
38 39
39 Allow = 0 40 Allow = 0
40 Block = 1 41 Block = 1
41 AllowForSession = 2 42 AllowForSession = 2
42 43
43 def __init__(self, parent = None): 44 def __init__(self, parent=None):
44 """ 45 """
45 Constructor 46 Constructor
46 47
47 @param parent reference to the parent object (QObject) 48 @param parent reference to the parent object (QObject)
48 """ 49 """
50 51
51 self.__loaded = False 52 self.__loaded = False
52 self.__acceptCookies = self.AcceptOnlyFromSitesNavigatedTo 53 self.__acceptCookies = self.AcceptOnlyFromSitesNavigatedTo
53 self.__saveTimer = AutoSaver(self, self.save) 54 self.__saveTimer = AutoSaver(self, self.save)
54 55
55 self.__cookiesFile = os.path.join(Utilities.getConfigDir(), 56 self.__cookiesFile = os.path.join(Utilities.getConfigDir(),
56 "browser", "cookies.ini") 57 "browser", "cookies.ini")
57 58
58 def saveCookies(self, cookiesList): 59 def saveCookies(self, cookiesList):
59 """ 60 """
60 Public method to save the cookies. 61 Public method to save the cookies.
87 88
88 version = stream.readUInt16() 89 version = stream.readUInt16()
89 if version != self.JAR_VERSION: 90 if version != self.JAR_VERSION:
90 return [] 91 return []
91 92
92 stream.readUInt32() # number of cookies 93 stream.readUInt32() # number of cookies
93 94
94 rawCookie = QByteArray() 95 rawCookie = QByteArray()
95 while not stream.atEnd(): 96 while not stream.atEnd():
96 stream >> rawCookie 97 stream >> rawCookie
97 newCookies = QNetworkCookie.parseCookies(rawCookie) 98 newCookies = QNetworkCookie.parseCookies(rawCookie)
168 self.__purgeOldCookies() 169 self.__purgeOldCookies()
169 170
170 cookieSettings = QSettings(self.__cookiesFile, QSettings.IniFormat) 171 cookieSettings = QSettings(self.__cookiesFile, QSettings.IniFormat)
171 172
172 cookiesList = self.allCookies() 173 cookiesList = self.allCookies()
173 for index in range(len(cookiesList) -1, -1, -1): 174 for index in range(len(cookiesList) - 1, -1, -1):
174 if cookiesList[index].isSessionCookie(): 175 if cookiesList[index].isSessionCookie():
175 del cookiesList[index] 176 del cookiesList[index]
176 cookies = self.saveCookies(cookiesList) 177 cookies = self.saveCookies(cookiesList)
177 178
178 cookieSettings.setValue("Cookies", cookies) 179 cookieSettings.setValue("Cookies", cookies)
179 cookieSettings.setValue("Exceptions/block", self.__exceptionsBlock) 180 cookieSettings.setValue("Exceptions/block", self.__exceptionsBlock)
180 cookieSettings.setValue("Exceptions/allow", self.__exceptionsAllow) 181 cookieSettings.setValue("Exceptions/allow", self.__exceptionsAllow)
181 cookieSettings.setValue("Exceptions/allowForSession", 182 cookieSettings.setValue("Exceptions/allowForSession",
182 self.__exceptionsAllowForSession) 183 self.__exceptionsAllowForSession)
183 184
184 Preferences.setHelp("AcceptCookies", self.__acceptCookies) 185 Preferences.setHelp("AcceptCookies", self.__acceptCookies)
185 Preferences.setHelp("KeepCookiesUntil", self.__keepCookies) 186 Preferences.setHelp("KeepCookiesUntil", self.__keepCookies)
186 Preferences.setHelp("FilterTrackingCookies", self.__filterTrackingCookies) 187 Preferences.setHelp("FilterTrackingCookies", self.__filterTrackingCookies)

eric ide

mercurial