Revision: 7617
Author:   alexsh
Date:     2009-11-09 15:32:36 +0000 (Mon, 09 Nov 2009)

Log Message:
-----------
Site(): Add functions for cookie management
site().getUrl(): disable load cookie if no_hostname == True.

Modified Paths:
--------------
    trunk/pywikipedia/wikipedia.py

Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py      2009-11-09 14:54:25 UTC (rev 7616)
+++ trunk/pywikipedia/wikipedia.py      2009-11-09 15:32:36 UTC (rev 7617)
@@ -5220,8 +5220,7 @@
             self._cookies[index] = None
             self._isLoggedIn[index] = False
         else:
-            tmp = '%s-%s-%s-login.data' % (
-                    self.family.name, self.lang, username)
+            tmp = '%s-%s-%s-login.data' % (self.family.name, self.lang, 
username)
             fn = config.datafilepath('login-data', tmp)
             if not os.path.exists(fn):
                 self._cookies[index] = None
@@ -5230,6 +5229,32 @@
                 f = open(fn)
                 self._cookies[index] = '; '.join([x.strip() for x in 
f.readlines()])
                 f.close()
+    
+    def _readCookies(self, filename):
+        try:
+            f = open( config.datafilepath('login-data', filename) )
+            data = '; '.join([p.strip() for p in f.readlines()])
+            f.close()
+            return data
+        except IOError:
+            return None
+    
+    def _setupCookies(self, datas, sysop = False):
+        index = self._userIndex(sysop)
+        filename = '%s-%s-%s-login.data' % (self.family.name, self.lang, 
self.username(sysop) )
+        #if self.family.cross_projects:
+        #    for proj in self.family.cross_projects + self.family.name:
+        #        filename = '%s-%s-central-login.data' % (proj, 
self.username(sysop) )
+                
+    
+    def _removeCookies(self, sysop = False, central = False):
+        #if self.family_cross_projects:
+        #    file = config.datafilepath('login-data', 
'%s-%s-central-login.data' % (self.family.name, self.username(sysop)))
+        #    if os.path.exists(file):
+        #        os.remove( file )
+        file = config.datafilepath('%s-%s-%s-login.data' % (self.family.name, 
self.lang, self.username(sysop)) )
+        if os.path.exists(file):
+            os.remove(file)
 
     def urlEncode(self, query):
         """Encode a query so that it can be sent using an http POST request."""
@@ -5444,7 +5469,7 @@
 
         headers = {'User-agent': useragent,}
         
-        if self.cookies(sysop = sysop):
+        if self.cookies(sysop = sysop) and not no_hostname:
             headers['Cookie'] = self.cookies(sysop = sysop)
         if compress:
             headers['Accept-encoding'] = 'gzip'



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to