def sysarg_to_string(argv): """ Transform a list of strings into a single string Add quotes if needed :return: """ if argv is None or not argv: return "" result = "" first = True for s in argv: if not first: result += " " result += '"' + s + '"' if " " in s else s first = False return result def get_class(kls): """ Loads a class from its string full qualified name :param kls: :return: """ parts = kls.split('.') module = ".".join(parts[:-1]) m = __import__(module) for comp in parts[1:]: m = getattr(m, comp) return m def get_object(kls, *args, **kwargs): """ New instance of an object :param kls: :param args: :param kwargs: :return: """ obj_type = get_class(kls) return obj_type(*args, **kwargs) def get_full_qualified_name(obj): """ Returns the full qualified name of a class (including its module name ) :param obj: :return: """ module = obj.__class__.__module__ if module is None or module == str.__class__.__module__: return obj.__class__.__name__ # Avoid reporting __builtin__ else: return module + '.' + obj.__class__.__name__