https://bugzilla.wikimedia.org/show_bug.cgi?id=55158

       Web browser: ---
            Bug ID: 55158
           Summary: getFileVersionHistory doesn't work if information is
                    hidden
           Product: Pywikibot
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: General
          Assignee: [email protected]
          Reporter: [email protected]
    Classification: Unclassified
   Mobile Platform: ---

Originally from: http://sourceforge.net/p/pywikipediabot/bugs/1550/
Reported by: stefan2wiki
Created on: 2012-12-14 01:38:42
Subject: getFileVersionHistory doesn't work if information is hidden
Original description:
Take a file where some information is hidden, for example this one:
https://commons.wikimedia.org/wiki/File:Catania\_Piazza\_Quattro\_Canti.jpg
In this case, the edit summary for the first revision is missing.

Try this code:

import wikipedia
site = wikipedia.getSite\(u'commons', u'commons'\)
page = wikipedia.ImagePage\(site, u'File:Catania Piazza Quattro Canti.jpg'\)
history = page.getFileVersionHistory\(\)

I get an error message:

Traceback \(most recent call last\):
File "<stdin>", line 1, in <module>
File "wikipedia.py", line 4194, in getFileVersionHistory
result.append\(\(i\['timestamp'\], i\['user'\], u"%s×%s" % \(i\['width'\],
i\['height'\]\), i\['size'\], i\['comment'\]\)\)
KeyError: 'comment'

There is no i\['comment'\] because the comment is hidden \(deleted\).

Result: The script crashes when running getFileVersionHistory. It would be
better if getFileVersionHistory at least returns what's available, instead of
returning nothing at all. For example, if you use i.get\('comment'\) instead of
i\['comment'\], then getFileVersionHistory returns None if there is no comment.
That seems much better than crashing.

Some version information:
Pywikipedia  \(r10715 \(wikipedia.py\), 2012/11/13, 20:56:05\)
Python 2.7.3 \(default, Aug  1 2012, 05:16:07\) 
\[GCC 4.6.3\]
config-settings:
use\_api = True
use\_api\_login = True
unicode test: ok

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Pywikipedia-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-bugs

Reply via email to