diff --git a/tools/exekall/exekall/_utils.py b/tools/exekall/exekall/_utils.py index 8337aa4faa7a8c9d88b6db62cbbd60144731b0e1..e5313c10e630034622d721b44b5307b4314afc70 100644 --- a/tools/exekall/exekall/_utils.py +++ b/tools/exekall/exekall/_utils.py @@ -134,6 +134,10 @@ def get_name(obj, full_qual=True, qual=True, pretty=False): else: _get_name = lambda x: x.__name__ + if obj is None: + pretty = True + obj = type(obj) + if pretty: for prettier_obj in {None, NoValue}: if obj == type(prettier_obj): @@ -145,12 +149,16 @@ def get_name(obj, full_qual=True, qual=True, pretty=False): # Add the module's name in front of the name to get a fully # qualified name if full_qual: - module_name = obj.__module__ - module_name = ( - module_name + '.' - if module_name != '__main__' and module_name != 'builtins' - else '' - ) + try: + module_name = obj.__module__ + except AttributeError: + module_name = '' + else: + module_name = ( + module_name + '.' + if module_name != '__main__' and module_name != 'builtins' + else '' + ) else: module_name = ''