Now the add_text.py script is working. My best guess as to why is that I had namespacealiases in cache that were incorrect and then the cache either expired or was overwritten. Why I think that: My debugging led me to the _build_namespaces function in site.py. It does two api calls to siteinfo.get. One to get the namespaces and one to get the namespacealiases. The second call then iterates through the result set looking for ['*'] in the namespace dictionary (returned from the siteinfo.get for namespace). It was here that the script failed. It was looking for namespace 104 (which doesn't exist on my wiki and did not get loaded into the siteinfo.get for namespace). For some unknown reason, it did get loaded into the namespacealiases dict. In trying to determine what namespaces and namespace aliases were actually installed on my wiki, I queried api.php through my browser using this format: example.com/wiki/api.php?action=query&meta=siteinfo&siprop=namespaces&formatversion=2 and then again changing siprop=namespaces to siprop=namespacealiases. Both of these queries verified that neither namespace alias nor namespace 104 (and 105) exist on my wiki. After executing these two queries, I added a couple of pywikibot.output statements in site.py to see if I could determine more info with what it is what retrieving in the siteinfo function. It was then that the script worked correctly. My guess is that executing the api.php query for namespacealiases refreshed the cache thereby removing the alias to ns 104. It's a total guess, but all seems to be working now. Thanks again for your help.Bud
From: "info@gno.de" info@gno.de To: bloveall@yahoo.com; pywikibot@lists.wikimedia.org Sent: Saturday, September 10, 2016 4:21 AM Subject: Aw: [pywikibot] Newbie Q: Error running add_text script for first time
Could you geve us your family and site you worked on. And the result of pwb.py version
Thanks
xqt
----- Original Nachricht ---- Von: Bud bloveall@yahoo.com An: "pywikibot@lists.wikimedia.org" pywikibot@lists.wikimedia.org Datum: 10.09.2016 02:54 Betreff: [pywikibot] Newbie Q: Error running add_text script for first time
Hi All, I'm new to Pywikibot (and Mediawiki as well). I've used the instructions on [0] to install pywikibot on my Windows laptop accessing a Linux server. All seems to be connected right (I'm successfully through step 9 and can login). The next step is to run add_text to change text on some pages. Here I get an error: C:\Users\Owner\pywikibot>python pwb.py add_text.py -cat:Testing -text:"Testing the add_text script using the Pywikibot user." -except:"{{([Tt]emplate:|)[Dd]ocumentation [Ss]ubpage" -upTraceback (most recent call last): File "pwb.py", line 270, in <module> if not main(): File "pwb.py", line 264, in main run_python_file(filename, [filename] + args, argvu, file_package) File "pwb.py", line 109, in run_python_file main_mod.__dict__) File ".\scripts\add_text.py", line 358, in <module> main() File ".\scripts\add_text.py", line 338, in main genFactory.handleArg(arg) File "C:\Users\Owner\pywikibot\pywikibot\pagegenerators.py", line 589, in handleArg gen = self.getCategoryGen(arg, gen_func=CategorizedPageGenerator) File "C:\Users\Owner\pywikibot\pywikibot\pagegenerators.py", line 420, in getCategoryGen if prefix not in self.site.namespaces[14]: File "C:\Users\Owner\pywikibot\pywikibot\site.py", line 806, in namespaces self._namespaces = _NamespacesDict(self._build_namespaces()) File "C:\Users\Owner\pywikibot\pywikibot\site.py", line 2185, in _build_namespaces if item['*'] not in _namespaces[ns]:KeyError: 104<class 'KeyError'>CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort
I've verified the Category name exists and is spelled correctly. Not sure what to try next to figure this out. Any help is appreciated. Thanks,Bud Loveall P.S. Also, is there a way to search the archives of the mail list? I'm guessing this has been answered before.
pywikibot mailing list pywikibot@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/pywikibot