Menu

#668 pagefromfile.py fails with error in wikipedia.py

closed
nobody
General (277)
5
2008-06-24
2008-04-03
Paul Tap
No

I'm trying to append a bit of text to an existing file (actually wanted to create a new one), but the script pagefromfile.py fails with the following output:

python pagefromfile.py -appendbottom -file:/tmp/Testpage.xml
Checked for running processes. 1 processes currently running, including the current process.
Pywikipediabot (r5177 (wikipedia.py), Apr 02 2008, 14:48:54)
Python 2.5.2 (r252:60911, Mar 12 2008, 13:36:25)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu4)]
>>> Hond <<<
Getting page [[Hond]]
Page Hond already exists, appending on bottom!
Getting information for site PaulIen:en
Password for user Filebot on PaulIen:en:
Logging in to PaulIen:en as Filebot
Should be logged in now
Getting information for site PaulIen:en
Traceback (most recent call last):
File "pagefromfile.py", line 296, in <module>
main()
File "pagefromfile.py", line 292, in main
bot.run()
File "pagefromfile.py", line 124, in run
self.put(title, contents)
File "pagefromfile.py", line 174, in put
page.put(contents, comment = comment, minorEdit = self.minor)
File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 1174, in put
sysop = self._getActionUser(action = 'edit', restriction = self.editRestriction, sysop = False)
File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 1098, in _getActionUser
if not self.site().isAllowed(action, sysop):
File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 3897, in isAllowed
return right in self._rights[index]
TypeError: argument of type 'NoneType' is not iterable

When running in debug mode, this error does not occur, but the script complains about missing start/end tags (looks like another problem to me though).

I've tested upload.py with an image file and that works fine. Just to isolate the problem and to make sure that the filebot is working somehow.

Additional info (from the version page):

* MediaWiki: 1.11.1
* PHP: 5.2.5 (apache2handler)
* MySQL: 5.0.51a

pywikipedia svn update: Updated to revision 5177.

Regards,

Paul Tap

Discussion

  • Uberfuzzy

    Uberfuzzy - 2008-04-03

    Logged In: YES
    user_id=1976885
    Originator: NO

    per change in wikipedia.py in #5173, wikipage detection was changed, but misza missed a space.

    on line 4192 (if different, just find "# Not a wiki page")
    if '<body class="mediawiki' not in text:

    change to
    if '<body class="mediawiki' not in text:

    note the 2 spaces between body and class, thats it

     
  • Anonymous

    Anonymous - 2008-04-03

    Logged In: YES
    user_id=1907826
    Originator: NO

    Not all versions use two spaces. I suggest using something like:

    if not re.search(r'\<body[ ]*?class\="mediawiki', text):

    I can't test it myself right now, so I'm not committing it.

     
  • Paul Tap

    Paul Tap - 2008-04-03

    Logged In: YES
    user_id=1897388
    Originator: YES

    I've tested both (erwin85_wp and uberfuzzy) updates and now run into the following:

    python pagefromfile.py -appendbottom -file:/tmp/Testpage.xml
    Checked for running processes. 1 processes currently running, including the current process.
    >>> Hond <<<
    Traceback (most recent call last):
    File "pagefromfile.py", line 296, in <module>
    main()
    File "pagefromfile.py", line 292, in main
    bot.run()
    File "pagefromfile.py", line 124, in run
    self.put(title, contents)
    File "pagefromfile.py", line 146, in put
    if page.exists():
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 841, in exists
    self.get()
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 622, in get
    self._contents = self._getEditPage(get_redirect = get_redirect, throttle = throttle, sysop = sysop, nofollow_redirects=nofollow_redirects)
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 671, in _getEditPage
    text = self.site().getUrl(path, sysop = sysop)
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 4180, in getUrl
    self._getUserData(text, sysop = sysop)
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 4202, in _getUserData
    blocked = self.isBlocked(sysop = sysop)
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 3881, in isBlocked
    % self.api_address(), sysop=sysop)
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 4169, in getUrl
    self.checkCharset(charset)
    File "/home/paul/bin/PaulIen/pywikipedia/wikipedia.py", line 5247, in checkCharset
    % (repr(self), self.charset, charset)
    AssertionError: charset for PaulIen:en changed from UTF-8 to iso-8859-1

    This now also happens in debug mode. Any ideas on this?

     
  • Paul Tap

    Paul Tap - 2008-04-03

    Logged In: YES
    user_id=1897388
    Originator: YES

    Had to upload some images and found out that the "changes" suggested below, cause the new errors and also break the upload.py. So the issue is still open.

     
  • Misza

    Misza - 2008-04-03

    Logged In: YES
    user_id=1686644
    Originator: NO

    I fact, wikias behave very differently. halo.wikia.com for example uses:

    <body onload='' class='ns-0 ltr page-Main_Page'>

    and no div id we're used to.

    Any ideas how to universally detect a wiki page? I've gotten to like the modern skin on Wikipedia but can't run my preciousss adminbots with it.

     
  • Uberfuzzy

    Uberfuzzy - 2008-04-05

    Logged In: YES
    user_id=1976885
    Originator: NO

    @misza, not all wikia is like that. Halo is one of the special new "social" code base, and halo is even worse because it has a very custom skin.

    if you want to bot there, see my family.py patch in #1916496

     
  • Francesco Cosoleto

    • status: open --> pending
     
  • Francesco Cosoleto

    Logged In: YES
    user_id=181280
    Originator: NO

    I cannot reproduce this bug. Please update your copy of PyWikipediaBot (r5545)and provide more information (custom family file used, user-config.py, site URL if available).

     
  • SourceForge Robot

    • status: pending --> closed
     
  • SourceForge Robot

    Logged In: YES
    user_id=1312539
    Originator: NO

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     

Log in to post a comment.