[Wikipedia-l] Changes in the Python Wikipediabot framework

Andre Engels andreengels at gmail.com
Sat Apr 2 22:01:53 UTC 2005


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



More information about the Wikipedia-l mailing list