Fix: python3 bindings (#51249)

The __str__ method called itself, resulting in an RecursionError.

======================================================================
ERROR: test14 (__main__.BindingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./binding_tests.py", line 336, in test14
    assert isinstance(str(cm.exception), str)
  File "../lasso.py", line 69, in __str__
    return '<lasso.%s: %s>' % (self.__class__.__name__, self)
  File "../lasso.py", line 69, in __str__
    return '<lasso.%s: %s>' % (self.__class__.__name__, self)
  File "../lasso.py", line 69, in __str__
    return '<lasso.%s: %s>' % (self.__class__.__name__, self)
  [Previous line repeated 489 more times]
  File "../lasso.py", line 68, in __str__
    if sys.version_info >= (3,):
RecursionError: maximum recursion depth exceeded in comparison

----------------------------------------------------------------------
This commit is contained in:
Benjamin Dauvergne 2021-02-24 22:59:24 +01:00
parent 86aa6a602f
commit 2dbca5edf3
1 changed files with 1 additions and 1 deletions

View File

@ -189,7 +189,7 @@ class Error(Exception):
return '<lasso.%s(%s): %s>' % (self.__class__.__name__, self.code, _lasso.strError(self.code))
else:
if sys.version_info >= (3,):
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
return '<lasso.%s: %s>' % (self.__class__.__name__, super().__str__())
else:
return '<lasso.%s: %s>' % (self.__class__.__name__, self.message)