diff --git a/module_build_service/common/logger.py b/module_build_service/common/logger.py index 3b47c39f..b8fea378 100644 --- a/module_build_service/common/logger.py +++ b/module_build_service/common/logger.py @@ -22,6 +22,7 @@ logging.warning("%s failed to build", task_id) from __future__ import absolute_import import os import logging +import logging.handlers import inspect levels = { @@ -65,6 +66,47 @@ class ModuleBuildFileHandler(logging.FileHandler): logging.FileHandler.emit(self, record) +def _is_solv_object(o): + """ + Returns true if the object is a libsolv object or contains one. + (Contains is implemented pragmatically and might need to be extended) + """ + if isinstance(o, (tuple, list)): + return any(_is_solv_object(x) for x in o) + else: + return str(type(o)).startswith("