• Vincent Pelletier's avatar
    BusinessTemplate_getPythonSourceCodeMessageList: Retry in case of pylint internal failure. · b21f83fc
    Vincent Pelletier authored
    Pylint, at least our current version (still 1.4.4 as some more recent
    versions are apparently much slower), may choke on some imports on the
    first validation since Zope was started, only to later succeed. Hypothesis
    is that it fails to analyse some imported modules, leaving empty shells
    behind in some cache, making a second test avoid the error.
    Here is one such error:
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 86, in cache_generator
        for result in generator:
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 327, in wrapped
        for res in _func(node, context, **kwargs):
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 351, in wrapper
        for node in func(*args, **kwargs):
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/inference.py", line 190, in infer_callfunc
        for callee in self.func.infer(context):
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 86, in cache_generator
        for result in generator:
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 327, in wrapped
        for res in _func(node, context, **kwargs):
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 351, in wrapper
        for node in func(*args, **kwargs):
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/inference.py", line 247, in infer_getattr
        for obj in owner.igetattr(self.attrname, context):
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 187, in igetattr
        context.push((self._proxied, name))
      File "eggs/astroid-1.3.8-py2.7.egg/astroid/raw_building.py", line 360, in _set_proxied
        return _CONST_PROXY[const.value.__class__]
    KeyError: <type 'CompiledFFI'>
    b21f83fc
BusinessTemplate_getPythonSourceCodeMessageList.py 4.47 KB