Talk:Pywikipediabot/interwiki.py

From Meta, a Wikimedia project coordination wiki

Jump to: navigation, search

Contents

[edit] Useable

Is autonomous_problems.dat intended to be usable as an argument for the -file: option? My version of the bot (04-22-2005 CVS) seems not to like it. It'd be of great help if it could be used; I wrote a simple script to perform the task, but at the cost of losing quite a lot of stored information. Taragui 14:52, 6 May 2005 (UTC)

[edit] probably bug

I run this bot within th (Thai) and en (English) Wikipedia(s). In English Wikipedia, instead of editing articles as my bot username, my IP-Address is shown in edit history (similar to un-login user). In Thai Wikipedia it worked well to me.

[edit] crashing bug

Python 2.5, Windows XP MCE, all SPs, just updated, get this error:

NOTE: [[es:Of Vengeance and Violence]] does not exist
Getting 60 pages from wikipedia:sv...
Sleeping for 5.7 seconds, 10 Dec 2006 15:59:47 (UTC)
Dump en (wikipedia) saved
Traceback (most recent call last):
  File "C:\pyWikipedia\pywikipedia\interwiki.py", line 1552, in <module>
    bot.run()
  File "C:\pyWikipedia\pywikipedia\interwiki.py", line 1264, in run
    self.queryStep()
  File "C:\pyWikipedia\pywikipedia\interwiki.py", line 1238, in queryStep
    self.oneQuery()
  File "C:\pyWikipedia\pywikipedia\interwiki.py", line 1234, in oneQuery
    subj.workDone(self)
  File "C:\pyWikipedia\pywikipedia\interwiki.py", line 513, in workDone
    if self.hasnondisambig(pl.site()):
  File "C:\pyWikipedia\pywikipedia\interwiki.py", line 363, in hasnondisambig
    if not pl.isDisambig():
  File "C:\pyWikipedia\pywikipedia\wikipedia.py", line 699, in isDisambig
    for tn in self.templates():
  File "C:\pyWikipedia\pywikipedia\wikipedia.py", line 1219, in templates
    thistxt = self.get()
  File "C:\pyWikipedia\pywikipedia\wikipedia.py", line 487, in get
    raise self._getexception
wikipedia.NoPage

If I start from the same place right before a crash, it dies again. Could it be failing to get sv.wikipedia? ST47 (en:User:ST47) 16:03, 10 December 2006 (UTC)

[edit] Incorrect (?) inclusion of subheadings

I had a short exchange to a Interwiki.py bot operator. Wikipedia bot user account w:User:SieBot undid some changes I made to the w:Albert article: [1]. The Mandarin update is fine, but the German and Swedish changes are incorrect. I don't think the subheadings are appropriate for those linked articles -- the articles are each about the name; using the subheadings would be appropriate only if the English article were simply a list of the people with the name, I think. -- JHunterJ 20:27, 7 April 2007 (UTC)

[edit] Working with the logfile

Could someone explain how to use this code for other languages than English: "python interwiki.py -warnfile:english_treelang.log"? and notably, for example, how to use a file as "warning-wikipedia-kw"? Thank you very much!Benoni 10:20, 1 June 2007 (UTC)

Well, the answer seems to be to use the command: "python warnfile.py -lang:xx"Benoni 11:17, 1 June 2007 (UTC)

[edit] Blocking unwanted links

We need a per-page way for local editors to specify that a given interwiki link on a given page is unwanted, and a default configuration of the bots that will understand and honor such a request. The bots should never be allowed to make edits against local consensus of human editors. So we need a way for human editors to tell the bot what not to do.

The case I have in mind is w:en:Ingria, which is visited almost daily by a dozen different interwiki bot accounts and gets a link added to the highly controversial ru-sib wiki, which always get reverted. There is a local consensus among the editors of the article that this link is not wanted. I'm not going to delve into the policies and politics of why one should or shouldn't link to ru-sib, or whether or not it is okay for editors of one language wiki to boycott another. The point is simply that it shouldn't be up to the bot to decide.

In this particular case the issue could be solved by having all bot operators set their bots to "-neverlink ru-sib", but we can't really expect all bot owners to know about this case in advance. Also, there might be cases where the rejection is not of a whole language but specific to individual pages. So, we really need something on the page to stop the bot, and we need the bot to understand that in its default configuration.

As this constant revert war against a dozen different bots is getting disruptive, I very strongly urge developers to come up with a technical solution. Otherwise, I might take the step of blocking every interwiki bot on enwiki that runs without "-neverlink ru-sib". Fut.Perf. 09:25, 19 June 2007 (UTC)

Maybe we should share our skipfiles, or have a wiki-page that lists pages that bots should skiped? TaBaZzz 16:07, 24 August 2008 (UTC)

[edit] Wybot mishandles iw links on templates

Apparently this is where I'm supposed to report that en:User:Wybot is misbehaving. It's incorrectly inserting/removing interwiki links on templates. See [2] and [3]. The first change causes the interwiki links to be included on all transcluded pages, while the second change removed valid interwiki links intended for the main template and inserted other interwiki links that should have been wrapped in a noinclude section to avoid being included on the main template. --PEJL 08:06, 16 September 2007 (UTC)

Actually, this is something better posted at en:User talk:WonYong. EVula // talk // // 08:08, 16 September 2007 (UTC)
I've left a note there referring to this discussion. I was merely following the instruction at User:Wybot that said: "Non-administrators can report misbehaving bots to Wikipedia:Administrators' noticeboard/Incidents.", generated by {{Emergency-bot-shutoff}}. If that instruction is inappropriate, perhaps it should be changed. --PEJL 08:10, 16 September 2007 (UTC)
Oh~ I am sorry. I run "interwiki.py -continue -autonomous". what happen? I stopped my interwiki bot. It is a bot program's error? I use pywikipedia bot SVN. version is new. what happen?? I am not programmer. I don't know why, how, etc. :( -- WonYong (talk contribs count logs email) 08:23, 16 September 2007 (UTC)
(I'm not sure if this is the right place to post; if not, feel free to move the discussion to someplace more appropriate, but please notify me.) One of the issues seems to be (at least in the case of the second link) the fact that the IW links are kept on a transcluded subpage (along with other documentation). Apparently, this confuses the bot. This may be bad practice, I don't know, but it certainly simplifies life when dealing with a protected template. The other issue, where it moves the IW links outside of the noinclude tags appears to simply be a bug in the bot. Xtifr tälk 08:42, 16 September 2007 (UTC)

[edit] working with categories

How can I run the bot for interwikiing the categories, p.e. new created categories, or subcategories wich arise from a given category? --A1 21:50, 11 December 2007 (UTC)

You can use interwiki.py -cat:"Stubs" for interwikiing the Category:Stubs. --Plasmarelais 17:21, 29 September 2009 (UTC)

[edit] Running on template space on EN

Is there a way that we could get an interwiki bot running on EN that will add links to the /doc sub page and recognize other iw links from templates using this pattern too? II know that there have been operators who have attempted this but because of the special nature of the templates most of the edits needed to be revert. —Dispenser 03:47, 3 February 2008 (UTC)

[edit] Removal of links

Can someone please explain on what basis the bot decides that links are to be removed? How can this ever be done safely without human confirmation? There is no one-one correspondence between articles in different language wikipedias, so linking can't be expected to be one-one either. (User:Kotniski from en:WP)


It seems to remove some based on whether both articles are categorised/tagged as disambiguation pages. This sometimes has unhelpful results.
I would say that the pywiki bot SoxBot III removed these interwiki links incorrectly on 1 March 2008. Having noticed the first one, I checked a dozen or so others from that date and found the others.
[4] Removed 2 valid interwikis, perhaps because the EN is tagged as disam but the others are not.
[5] Removed valid disambiguation to disambiguation link, perhaps because the EN has disambiguation subcategories/specific templates rather than the general disambiguation category/template.
[6] Removed redirects rather than replacing them.
I raised these with the editor who ran the bot and he referred me here. User:Fayenatic_london on en:WP

The above is not meant to be an answer to the question raised by user:Kotniski, but additions to it with specific examples of problems. Please would someone who is able to improve the program look into these faults and answer us? - User:Fayenatic_london on en:WP, 23 July 2008

A problem like the one above was reported today on enwiki at en:Wikipedia:Administrators' noticeboard/Incidents#SassoBot. While looking at the code of interwiki.py, I discovered this change that was put in by a_engels in November, 2008. It allows the hard cases (DAB in one language and non-DAB in the other) to be skipped. So the bot will either do nothing or allow the operator to fix the pages up manually. EdJohnston 04:16, 27 February 2009 (UTC)

[edit] Algorithm used

Can someone explain how bot works in some cases? For example,"finds that an interwiki-link has to be changed" - how bot recognizes this? Another case - "finds that an interwiki link is to be removed" - when it happens? Thanks DixonD 11:20, 14 August 2009 (UTC)

I guess the bot finds iwls needing a change either by following redirects or in the following situation. If en:A and de:A were connected right, then de:A moved to de:B and kept its iwl. Later the bot finds de:B pointing to en:A but en:A still linking on de:A which is a broken link. With one direction working it can repair the broken one.
The bot finds links to be deleted, if none of the cases above worked or a page has a link to a moved or deleted page without redirect. Another case is, that the iwl is incorrect or pointing on a page that never existed. --Plasmarelais 17:27, 29 September 2009 (UTC)