https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
Web browser: --- Bug ID: 55229 Summary: AddCategory bot uses default language instead of site lang Product: Pywikibot Version: unspecified Hardware: All OS: All Status: ASSIGNED Severity: normal Priority: Unprioritized Component: category.py Assignee: Pywikipedia-bugs@lists.wikimedia.org Reporter: legoktm.wikipedia@gmail.com Classification: Unclassified Mobile Platform: ---
Originally from: http://sourceforge.net/p/pywikipediabot/bugs/1371/ Reported by: tgr_ Created on: 2011-10-31 16:55:07 Subject: AddCategory bot uses default language instead of site lang Assigned to: xqt Original description: This might be a more general problem, I did not check. I created a custom generator and used it to construct the AddCategory bot from category.py. Apparently the bot uses the default settings for language purposes instead of either accepting such options in the constructor or (more conveniently) checking the site of the first page returned by the generator and using the language of that. For example, running the bot on Commons resulted in edits like this: http://commons.wikimedia.org/w/index.php?title=File:Ungar-Mayer-palace%5C_Sz... - both the summary and the category namespace name are in Hungarian.
version: Pywikipedia [http] trunk/pywikipedia (r9710, 2011/10/31, 05:19:34) Python 2.7.2+ (default, Aug 16 2011, 09:23:59) [GCC 4.6.1] config-settings: use_api = True use_api_login = True unicode test: ok
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
--- Comment #1 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- This message is from "category-adding" and the code for i18n.twtranslate() comes from self.site attribute which is assigned with pywikibot.getSite() by constructor. getSite() gives the site your start the bot. For commons you must run the -lang:commons -family:commons options which gives an english text by default. Since this is your own script, could you check whether your lang code isn't commons on commons site?
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
--- Comment #2 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- - **assigned_to**: nobody --> xqt - **status**: open --> pending
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
--- Comment #3 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- xqt, I understand that's how it works, but that seems like bad design to me. The category adder bot is constructed with a generator which yields Page objects. A Page object already references a Site object; it makes no sense to do something with it and use the settings from a different site. Also, I think it is a reasonable expectation that upon creating an object, you can pass all the relevant settings to it in the constructor, or maybe a few additional function calls, and it will not be influenced by (the lack of) command line arguments which are handled by a totally different module.
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
--- Comment #4 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- - **status**: pending --> open
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
--- Comment #5 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- Yes, you are correct it's a bad design. However, this is what happens when software grows ;-)
If you can fix it, you are vey welcome to submit a patch. For now, you could use the setSite() workaround, which should be OK (but ugly) as long as you're running a single-threaded app.
>>> wikipedia.getSite() wikipedia:en >>> wikipedia.setSite(wikipedia.getSite('nl', 'wikipedia') >>> wikipedia.getSite() wikipedia:nl
you can get the site from a page object: >>> p = wikipedia.Page(wikipedia.getSite(), 'nl:test') >>> p.site() wikipedia:nl
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
--- Comment #6 from Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com --- - **priority**: 5 --> 3
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://sourceforge.net/p/p | |ywikipediabot/bugs/1371
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
Amir Ladsgroup ladsgroup@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|Unprioritized |Low CC| |ladsgroup@gmail.com Severity|normal |minor
https://bugzilla.wikimedia.org/show_bug.cgi?id=55229
Kunal Mehta (Legoktm) legoktm.wikipedia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |core (2.0) Assignee|Pywikipedia-bugs@lists.wiki |legoktm.wikipedia@gmail.com |media.org |
pywikipedia-bugs@lists.wikimedia.org