Revision: 7407
Author:   alexsh
Date:     2009-10-09 21:28:36 +0000 (Fri, 09 Oct 2009)

Log Message:
-----------
add process for action=upload

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

Modified: trunk/pywikipedia/query.py
===================================================================
--- trunk/pywikipedia/query.py  2009-10-09 20:07:57 UTC (rev 7406)
+++ trunk/pywikipedia/query.py  2009-10-09 21:28:36 UTC (rev 7407)
@@ -91,6 +91,7 @@
     if useAPI:
         if params['action'] in postAC:
             path = site.api_address()
+            cont = ''
         else:
             path = site.api_address() + urllib.urlencode(params.items())
 
@@ -109,7 +110,18 @@
     while retryCount >= 0:
         try:
             jsontext = "Nothing received"
-            if site.hostname() in wikipedia.config.authenticate.keys():
+            if params['action'] == 'upload' and ('file' in params or cont):
+                import upload
+                if not cont:
+                    cont = params['file']
+                    del params['file']
+                
+                res, jsontext = upload.post_multipart(self.site, path, params,
+                  (('file', params['filename'].encode(self.site.encoding()), 
cont),), self.cookies(sysop=sysop)
+                  )
+                
+                
+            elif site.hostname() in wikipedia.config.authenticate.keys():
                 params["Content-type"] = "application/x-www-form-urlencoded"
                 params["User-agent"] = useragent
                 res = urllib2.urlopen(urllib2.Request(site.protocol() + '://' 
+ site.hostname() + address, site.urlEncode(params)))



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

Reply via email to