ChongDae created this task.
ChongDae added a project: Pywikibot-core.
Herald added subscribers: pywikibot-bugs-list, Aklapper.

TASK DESCRIPTION

When using CategorizedPageGenerator or SubCategoriesPageGenerator, the recursive option for a circular-dependent category causes python error.

How about to make a max_depth option and/or preventing re-visiting the same category??

This is an example error message.

Traceback (most recent call last):

File "/usr/lib/python3.4/inspect.py", line 971, in getfullargspec
  skip_bound_arg=False)
File "/usr/lib/python3.4/inspect.py", line 1917, in _signature_internal
  return Signature.from_function(obj)
File "/usr/lib/python3.4/inspect.py", line 2450, in from_function
  __validate_parameters__=is_duck_function)
File "/usr/lib/python3.4/inspect.py", line 2366, in __init__
  for param in parameters))
File "/usr/lib/python3.4/collections/__init__.py", line 56, in __init__
  self.__update(*args, **kwds)
File "/usr/lib/python3.4/_collections_abc.py", line 576, in update
  if isinstance(other, Mapping):
File "/usr/lib/python3.4/abc.py", line 188, in __instancecheck__
  subclass in cls._abc_negative_cache):
File "/usr/lib/python3.4/_weakrefset.py", line 75, in __contains__
  return wr in self.data

RuntimeError: maximum recursion depth exceeded in comparison

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File "check_descent.py", line 55, in check_descent
  for page in gen:
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/pagegenerators.py", line 1364, in SubCategoriesPageGenerator
  total=total, content=content):
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/page.py", line 2778, in subcategories
  recurse, total=total, content=content):
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/page.py", line 2778, in subcategories
  recurse, total=total, content=content):

... (repeat).............................................................

File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/page.py", line 2768, in subcategories
  self, member_type='subcat', total=total, content=content):
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/tools/__init__.py", line 1474, in wrapper
  return obj(*__args, **__kw)
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/site.py", line 3939, in categorymembers
  total=total, g_content=content, **cmargs)
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/tools/__init__.py", line 1474, in wrapper
  return obj(*__args, **__kw)
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/site.py", line 1956, in _generator
  gen = gen_class(type_arg, **req_args)
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/data/api.py", line 2892, in __init__
  kwargs = self._clean_kwargs(kwargs)
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/data/api.py", line 2370, in _clean_kwargs
  kwargs = self.request_class.clean_kwargs(kwargs)
File "/mnt/nfs/labstore-secondary-tools-project/chobot/src/pywikibot-core.new/pywikibot/data/api.py", line 1518, in clean_kwargs
  args |= set(getargspec(super_cls.__init__)[0])
File "/usr/lib/python3.4/inspect.py", line 928, in getargspec
  getfullargspec(func)
File "/usr/lib/python3.4/inspect.py", line 977, in getfullargspec
  raise TypeError('unsupported callable') from ex

TypeError: unsupported callable


TASK DETAIL
https://phabricator.wikimedia.org/T183690

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: ChongDae
Cc: Aklapper, ChongDae, pywikibot-bugs-list, Magul, Tbscho, MayS, Mdupont, JJMC89, Avicennasis, jayvdb, Dalba, Masti, Alchimista, Rxy
_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to