User:Interwicket

From Wiktionary, the free dictionary
Jump to navigation Jump to search

Owner/runner: User:Robert Ullmann

Source code: User:Interwicket/code

Status on all wikts: /FL status

Log of entries added where Interwicket does not have a bot flag: /FL log

Purpose

Bot to do interwikis from the en.wikt, with minimal overhead.

Processes

Interwicket runs ten different main processes, that (of course) share much of the code.

iwikt

The iwikt.py program reads the daily XML dump, and then reads the "union index" a multi-way merge of the all-pages index on all of the wikts. It updates its local cache of the union index. For each entry in the XML that does not match the union index, it adds (removes) links from the home wikt, and adds and removes reciprocal links in the others, using the links known (which is all of them, as it is reading the indexes, unless there was an exception or some failure with one or more).

It sorts the iwikis in the home wikt entries, making sure they are ordered correctly and in the correct place. (It does this for any other entry it updates, but only as a side effect when changing links.)

This code can be run with other wikts (other than English) as its "home" wikt, updating everything on that wikt.

Because this requires a current XML dump of the home wikt, it is not useful at this writing (March 2009) as the WMF dump service is broken, and fixing it has been stated to be "low priority".

mbwa

The mbwa.py program is the primary process run by Interwicket autonomously 24x7. It reads "recent changes" from all active wikts, and scans the index of each wikt every few days. For each title with one or more missing (or invalid) links, mbwa updates all entries in all wikts with the complete current set.