User:Subpagination Bot/Task 1: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Jitse Niesen
(old templates are of the form templateN, see talk)
imported>Jitse Niesen
(emergency stop, delays)
Line 1: Line 1:
I am writing a bot which goes through all the articles and converts them to the new [[CZ:Subpages]] technology. This is the start of step 4 of [[CZ:Subpages#A plan for The Big Subpagination]].
I am writing a bot which goes through all the articles and converts them to the new [[CZ:Subpages]] technology. This is the start of step 4 of [[CZ:Subpages#A plan for The Big Subpagination]].
In case things go wrong, the bot can be stopped by leaving a message on [[User:Jitse Niesen/Subpagination/Emergency stop]]. If that does not help, constables can stop it by blocking the account.


== Details of the bot ==
== Details of the bot ==
Line 19: Line 21:
** It creates XXX/Unused, containing only <nowiki>{{subpages}}</nowiki>.
** It creates XXX/Unused, containing only <nowiki>{{subpages}}</nowiki>.
** It adds <nowiki>{{subpages}}</nowiki> at the top of the article and it removes any categories.
** It adds <nowiki>{{subpages}}</nowiki> at the top of the article and it removes any categories.
* To avoid overwhelming the servers, the bot will wait at least one second between reads, ten seconds between writes, and five minutes between every cluster of five writes.


== Log of a test run ==
== Log of a test run ==

Revision as of 06:52, 17 September 2007

I am writing a bot which goes through all the articles and converts them to the new CZ:Subpages technology. This is the start of step 4 of CZ:Subpages#A plan for The Big Subpagination.

In case things go wrong, the bot can be stopped by leaving a message on User:Jitse Niesen/Subpagination/Emergency stop. If that does not help, constables can stop it by blocking the account.

Details of the bot

  • The bot goes through all the pages in the main namespace.
  • It skips the page if one of the following conditions is met:
    • The title of the page contains a / (i.e., it's actually a subpage).
    • The page redirects to another page.
    • The page contains {{disambig}} (i.e., it's a disambiguation page).
    • The page is protected.
    • The page is actually Main Page.
    • The page already contains {{subpages}}.
    • The page contains an old template of the form {{subpagesN}} where N is a digit.
    • The talk page does not contain the checklist template.
  • If none of these conditions are met, then the bot converts the article to the subpage forms by going through the following steps (where XXX refers to the name of the article):
    • It creates XXX/Metadata and fills it with the data from the checklist.
    • It removes the checklist from the talk page and adds {{subpages}} at the top.
    • It creates XXX/Approved, containing only {{subpages}}.
    • It creates XXX/Unused, containing only {{subpages}}.
    • It adds {{subpages}} at the top of the article and it removes any categories.
  • To avoid overwhelming the servers, the bot will wait at least one second between reads, ten seconds between writes, and five minutes between every cluster of five writes.

Log of a test run

To give an idea what it does, I ran the bot on the first ten articles starting with a J. The log of this test run follows.

As you can see, there were some errors in the program. After fixing them, I repeated the test run: