Ivan-r created this task. Ivan-r added projects: Pywikibot-replace.py, Pywikibot. Restricted Application added subscribers: pywikibot-bugs-list, Aklapper.
TASK DESCRIPTION **Steps to replicate the issue** (include links if applicable): - I'm work on https://ru.minecraft.wiki/w/Справка:PyWikiBot - `py pwb.py replace -catr:Модификации -lang:ru -ns:0 -regex "[\n\s]+\|[^\=]+=\s?[Сс]м. \[\[\#[^\n]+" ""` **What happens?**: Script terminated by exception: ERROR: APISite instance has no attribute 'file_extensions' (AttributeError) Traceback (most recent call last): File "C:\Users\DragonMsi\Documents\pywikibot\pwb.py", line 58, in <module> sys.exit(main()) ~~~~^^ File "C:\Users\DragonMsi\Documents\pywikibot\pwb.py", line 54, in main runpy.run_path(str(path), run_name='__main__') ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen runpy>", line 287, in run_path File "<frozen runpy>", line 98, in _run_module_code File "<frozen runpy>", line 88, in _run_code File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\scripts\wrapper.py", line 558, in <module> main() ~~~~^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\scripts\wrapper.py", line 542, in main if not execute(): ~~~~~~~^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\scripts\wrapper.py", line 529, in execute run_python_file(filename, script_args, module) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\scripts\wrapper.py", line 154, in run_python_file exec(compile(source, filename, 'exec', dont_inherit=True), ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ main_mod.__dict__) ^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\scripts\replace.py", line 1148, in <module> main() ~~~~^^ File "C:\Users\DragonMsi\Documents\pywikibot\scripts\replace.py", line 1144, in main bot.run() ~~~~~~~^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\bot.py", line 1579, in run for item in self.generator: ^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\pagegenerators\__init__.py", line 672, in PreloadingGenerator for page in generator: ^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\pagegenerators\_filters.py", line 84, in <genexpr> return (page for page in generator if page.namespace() in namespaces) ^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\pagegenerators\_generators.py", line 358, in CategorizedPageGenerator yield from category.articles( ...<5 lines>... ) File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\page\_category.py", line 190, in articles for member in self.members( ~~~~~~~~~~~~^ member_type=member_type, recurse=recurse, **kwargs): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\page\_category.py", line 259, in members for member in subcat.members( ~~~~~~~~~~~~~~^ recurse=recurse, total=total, **kwargs): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\page\_category.py", line 259, in members for member in subcat.members( ~~~~~~~~~~~~~~^ recurse=recurse, total=total, **kwargs): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\page\_category.py", line 259, in members for member in subcat.members( ~~~~~~~~~~~~~~^ recurse=recurse, total=total, **kwargs): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\page\_category.py", line 245, in members for member in self.site.categorymembers(self, total=total, **kwargs): ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen _collections_abc>", line 360, in __next__ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\tools\collections.py", line 285, in send return next(self._started_gen) File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\data\api\_generators.py", line 723, in generator yield from self._extract_results(resultdata) File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\data\api\_generators.py", line 654, in _extract_results result = self.result(item) File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\data\api\_generators.py", line 838, in result p = pywikibot.FilePage( p, ignore_extension='imageinfo' in pagedata) File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\page\_filepage.py", line 73, in __init__ if not sep or extension.lower() not in self.site.file_extensions: ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\DragonMsi\Documents\pywikibot\pywikibot\site\_basesite.py", line 218, in __getattr__ raise AttributeError(f'{type(self).__name__} instance has no ' f'attribute {name!r}') from None AttributeError: APISite instance has no attribute 'file_extensions'. Did you mean: 'has_extension'? CRITICAL: Exiting due to uncaught exception AttributeError: APISite instance has no attribute 'file_extensions' ---- I see that the drop occurs when trying to process a category containing a file. For example this one: https://ru.minecraft.wiki/w/Категория:Спрайтовые_изображения_Applied_Energistics But I don't see why this should cause problems if all the files are in a namespace that was excluded by the `-ns:0` key. TASK DETAIL https://phabricator.wikimedia.org/T417961 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/
_______________________________________________ pywikibot-bugs mailing list -- [email protected] To unsubscribe send an email to [email protected]
