[Pywikipedia-l] SVN: [6072] branches/rewrite/pywikibot/site.py

russblau at svn.wikimedia.org russblau at svn.wikimedia.org
Thu Nov 6 16:31:26 UTC 2008


Revision: 6072
Author:   russblau
Date:     2008-11-06 16:31:26 +0000 (Thu, 06 Nov 2008)

Log Message:
-----------
add loadimageinfo() method

Modified Paths:
--------------
    branches/rewrite/pywikibot/site.py

Modified: branches/rewrite/pywikibot/site.py
===================================================================
--- branches/rewrite/pywikibot/site.py	2008-11-06 08:56:13 UTC (rev 6071)
+++ branches/rewrite/pywikibot/site.py	2008-11-06 16:31:26 UTC (rev 6072)
@@ -894,6 +894,29 @@
                     % (page, pageitem['title']))
             api.update_page(page, pageitem)
 
+    def loadimageinfo(self, page, history=False):
+        """Load image info from api and save in page attributes
+
+        @param history: if true, return the image's version history
+
+        """
+        title = page.title(withSection=False)
+        query = api.PropertyGenerator("imageinfo", site=self,
+                                      titles=title.encode(self.encoding()),
+                                      iiprop=["timestamp", "user", "comment",
+                                              "url", "size", "sha1", "mime",
+                                              "metadata", "archivename"])
+        if history:
+            query.request["iilimit"] = "max"
+        for pageitem in query:
+            if pageitem['title'] != title:
+                raise Error(
+                    u"loadpageinfo: Query on %s returned data on '%s'"
+                    % (page, pageitem['title']))
+            api.update_page(page, pageitem)
+            if history:
+                return pageitem['imageinfo']
+
     def page_exists(self, page):
         """Return True if and only if page is an existing page on site."""
         if not hasattr(page, "_pageid"):





More information about the Pywikipedia-l mailing list