https://bugzilla.wikimedia.org/show_bug.cgi?id=64087
Bug ID: 64087 Summary: Invalid index to a set in categorx.py Product: Pywikibot Version: core (2.0) Hardware: All OS: All Status: NEW Severity: major Priority: Unprioritized Component: category.py Assignee: Pywikipedia-bugs@lists.wikimedia.org Reporter: info@gno.de Web browser: --- Mobile Platform: ---
Bug reported by pyfisch:
[michael@michaellaptop pywikibot-core]$ python2 scripts/category.py tidy Which category do you want to tidy up? Deutschland Retrieving 1 pages from wikipedia:de. ===================================================================Treating page Deutschland, currently in Kategorie:Deutschland{{Dieser Artikel|behandelt den deutschen Staat, im engeren Sinn die Bundesrepublik Deutschland; zu weiteren Bedeutungen siehe [[Deutschla ### More Text here
Dumping to category.dump.bz2, please wait... Traceback (most recent call last): File "scripts/category.py", line 1087, in <module> main() File "scripts/category.py", line 1061, in main bot.run() File "scripts/category.py", line 842, in run self.move_to_category(article, cat, cat) File "scripts/category.py", line 761, in move_to_category % (i, supercatlist[i].title())) TypeError: 'set' object does not support indexing<type 'exceptions.TypeError'> CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort
This is what I get when I try to run category.py tidy as it is currently in Git. I do not see any advantages of of CategoryDB and I want to remove it in another commit. It only adds complexity to the code, is broken, sometimes you will have outdated data in the database, and even with a 2Mbit connection you can fetch thousands of articles from the internet every second. If there should be some kind of caching in Pywikibot this should be done in the core of the framework, not in independent scripts for special use cases.