The following changes have been made to the Python Wikipediabot framework since the previous overview of February 6. As always, the new files can be downloaded at http://cvs.sourceforge.net/viewcvs.py/pywikipediabot/pywikipedia/, and one can of course use a newer version as well. Furthermore, changes have been done to the Wikimedia software early February, and to the bot as well. Therefore: * versions of wikipedia.py older than 1.391 (February 5) do not work any more * If you use a version of anything from February 6 or later, you should use a version of everything (more precisely, wikipedia.py, config.py and the specific bot you are using) from that date or later.
But on to the newer changes. For the bugfixes I will describe which bot(s) is or are affected, and what goes wrong with older versions. "int." means that the bug has been introduced in some earlier version. Bugs both introduced and solved in the current period have not been mentioned. For all changes the files and versions that are needed are mentioned.
Andre Engels
== Dependencies == In general, if error messages occur upon downloading a new version of a bot, getting a new version of wikipedia.py as well would be the first idea. Versions of wikipedia.py 1.405 and higher need family.py 1.21 (and vice versa)
== Bug fixes == * general * wikipedia.py 1.397 (int. 1.392 - does not count number of bot processes correctly) * general * wikipedia.py 1.397 (int. 1.392 - cannot edit redirect pages and cannot create new pages) * general * wikipedia.py 1.406 (is unable to edit after having been dormant for some time) * catall.py * catall.py 1.13 (int. 1.12 - gives an error message before ending) * category.py * category.py 1.62 (int. 1.61 - major disfunction) * category.py (and others) * catlib.py 1.32 (finds at most 200 articles in a category) * interwiki.py * family.py 1.20 (does not find pages on csb:) * interwiki.py * family.py 1.21, wikipedia.py 1.406 (does not recognize [[{xx:PAGENAME}]] interwiki links and a few redirects) * interwiki.py * interwiki.py 1.135 (crashes when the -continue option is used with an empty dumpfile) * interwiki.py * interwiki.py 1.136 (chance of not being removed from the list of bot processes if stopped *very* soon after being started) * interwiki.py * titletranslate.py 1.38 (crashes when a non-existing language is given as a hint) * pagefromfile.py * pagefromfile.py 1.7 (int. 1.6 - gives error message at end and is not removed from the list) * pagefromfile.py * pagefromfile.py 1.8 (the option "-end" is not recognized) * redirect.py * redirect.py 1.19 (int 1.18 - major disfunction) * replace.py * replace.py 1.35 (int. 1.6 - gives error message at end and is not removed from the list)
== Major changes == * interwiki.py can now, when asking for hints, be asked for the text of the page by typing "?" or adding the "-showpage option * interwiki.py 1.136 * replace.py and solve_disambiguation.py now give their diffs colored (Unix only) * replace.py 1.37, solve_disambiguation.py 1.128, wikipedia.py 1.404 * Two new features of sqldump.py: findr finds regular expressions; the function of baddisambiguation is not clear to me * sqldump.py 1.17 * interwiki.py uses nb: instead of no: in presence of an nn: link or on the nn: wiki * interwiki.py 1.139
== Minor changes == * Swedish translations for interwiki.py: interwiki.py 1.137 * Change of Icelandic text for category.py: category.py 1.63 * Hawaiian and Chichewa added to known languages (wiktionary only Hawaiian yet): wikipedia_family.py 1.89, wiktionary_family 1.21
== Cosmetic changes / invisible changes == * Multiple alternative redirect texts for one language are supported: wikipedia.py 1.406 * Special care for zh-cn/zh-tw difference removed: interwiki.py 1.139, wikipedia.py 1.408
I missed one change: interwiki.py handels the X-convention better in links to Esperanto - wikipedia.py 1.400. Apart from that interwiki.py 1.140 contains some test output, which has been removed in version 1.141.
Andre Engels
Here are the changes to the Python Wikipedia framework since the last mail of February 20. On http://sourceforge.net/projects/pywikipediabot/, there is a snapshot of March 23, newer versions can be found at http://cvs.sourceforge.net/viewcvs.py/pywikipediabot/pywikipedia/, or be asked from me. The changes with * were made after March 23, and thus do not appear in the snapshot.
There have been complaints about the bot suddenly not working - this has to do with the changes to family.py and such not having been handled correctly. If you upload a version where the families have been moved to the subdirectory families, please remove any file of which the name ends at "family.py" or "family.pyc" from the main bot directory, except family.py itself.
general: * Namespace names for a large number of languages (this also repairs a bug where interwiki.py did not find category-pages for some languages) (family.py 1.32, wikipedia.py 1.427) * Language os: has been added (family.py 1.37*) * Knows the local text for #REDIRECT and {{{PAGENAME}}} on languages that have it (in other languages of importance for the interwiki-bot) (family.py 1.38*) * disable possibility to log in under another username, because the other bots are not able to use the option (login.py 1.23, wikipedia.py 1.431) * : is not used in filenames, because Windows does not allow it (mediawiki_messages.py 1.23) * Families are now in a separate directory (wikipedia.py 1.424, all files in families/, also delete family.pyc and other files as specified above) * removed a situation where the bot could save a page although it had an edit conflict (wikipedia.py 1.428) * stop crashing on link [[]] (wikipedia.py 1.442)
Wiki-specific: * New family for wikinews (families/wikinews_family.py 1.1*) * bugfix for wikibooks (families/wikibooks_family.py 1.5*) * list of 'largest' languages for Wikipedia updated (family/wikipedia_family.py 1.6*) * New family for linpedia.org (families/linpedia_family.py 1.1*) * bugfix for mozilla (families/mozilla_family.py 1.3) * vi: wiktionary does not use capitalization (families/wiktionary_family.py 1.4) * bugfix for Wiktionary (families/wiktionary_family.py 1.6) * New family for dvd.wikidev.net (families/wpdvd_family.py 1.2)
new bot: * followlive.py: does life check on new pages (followlive.py 1.4*, wikipedia.py 1.421, family.py 1.27, wikipedia.py 1.444*, spelling/spelling-nl.txt 1.3*) * spellcheck.py: spellchecks Wiki-pages (using a list of known words) (spellcheck.py 1.7*) * weblinkchecker.py: Checks external links (weblinkchecker.py 1.3)
category.py: * Changing the name of a category is now done with "category.py rename" instead of "category.py move" (category.py 1.68) * does not crash over a non-existing category.dump (category.py 1.71) * bugfix for category.py -tidy (category.py 1.71) * category.py move now empties the old category, and attempts to copy its contents to the new one (catlib.py 1.34)
editarticle.py: * editarticle explicitly does not enable anonymous editing any more (editarticle.py 1.18)
find.py: * actually, I don't know what was changed here, sorry (find.py 1.4*)
imageharvest.py * additional options -shown and -justshown, to also/only include pictures shown on the specified page (imageharvest.py 1.6)
imagetransfer.py * handles non-ASCII image names correctly (imagetransfer.py 1.26) * take the 'is copied' message from the destination instead of the source wiki (lib_images.py 1.62)
interwiki.py: * bug repair with Norse handling (interwiki.py 1.141) * bug repair causing bot to say it 'changed' a link when it actually removed it (interwiki.py 1.142) * some reworking of the logging system (interwiki.py 1.146, config.py 1.49, splitwarning.py 1.6, warnfile.py 1.15, wikipedia.py 1.426) * re-add the dumping facility which had been accidentily removed (interwiki.py 1.149) * when called with option -array, does not get more than the specified number of pages (interwiki.py 1.149) * addition of Polish commentary text; change of Czech and Swedish commentary text (interwiki.py 1.157*) * repair of a rare bug causing the bot to think it has to change a non-existing page (interwiki.py 1.154) * interwiki.py knows date names automatically for a large number of languages (date.py 1.19) * interwiki.py knows years BC for af:, ro: and sl:, but not for bg: (which redirects to centuries) (date.py 1.23*) * You can now specify a category to have the 'same' name on another wiki, even though it has another category namespace name (family.py 1.32, wikipedia.py 1.427) * in languages using alphabetical ordering of languages, all languages are now ordered rather than just most (family.py 1.33) * 'scanwiki' option for nn: implemented (wikipedia.py 1.439, families/wikipedia_family.py 1.5)
splitwarning.py: * Use a '*' with the list, making posting to the wiki easier (splitwarning.py 1.5) * Use the correct encoding for the logfiles (splitwarning.py 1.8)
redirect.py: * adapted to changed MediaWiki code (redirect.py 1.23, wikipedia.py 1.429)
replace.py: * various bugfixes (replace.py 1.46) * option -cat to work on all pages in a category (replace.py 1.47)
solve_disambiguation.py * gets at most 20 pages at once (solve_disambiguation.py 1.132) * does not edit pages with certain texts (currently only active on de:) (solve_disambiguation.py 1.135) * ignored pages with the -primary argument are not loaded (solve_disambiguation.py 1.136) * does not crash when asked to work on a non-existing page (solve_disambiguation.py 1.137) * various bugfixes(solve_disambiguation.py 1.139) * tells the number of pages it will actually edit (solve_disambiguation.py 1.140*) * pages to ignore for de: changed and fy: added (solve_disambiguation.py 1.141*)
template.py: * support for templates with sortkeys (template.py 1.15)
upload.py: * when using the -wiki option, take the 'is copied' message from the destination instead of the source wiki (lib_images.py 1.62) * correction of fatal bug (upload.py 1.21)
(hopefully) invisible changes: * category.py has been made more object-oriented (category.py 1.68) * catlib.py handles usage of the -lang attribute (category.py 1.69, catlib.py 1.35) * obsolete code removed from config.py (config.py 1.43) * encoding declaration (config.py 1.46) * various simplification and additions to family.py * interwiki.py now uses warnfile.py to read warnfiles (interwiki.py 1.143, solve_disambiguation.py 1.132) * more object-orientation in several bots (replace.py 1.41, solve_disambiguation.py 1.131, table2wiki.py 1.61, upload.py 1.20, warnfile.py 1.14)) * template.py uses replace.py (replace.py 1.42)
Andre Engels
wikitech-l@lists.wikimedia.org