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