| def _repr(node, args=None, nameblacklist=None): | |
| classname = node.__class__.__name__ | |
| args = args or [] | |
| nameblacklist = nameblacklist or [] | |
| for key, value in filter( | |
| lambda item: not item[0].startswith("_") and item[0] not in nameblacklist, | |
| sorted(node.__dict__.items(), key=lambda item: item[0]), | |
| ): | |
| args.append("%s=%r" % (key, value)) | |
| return "%s(%s)" % (classname, ", ".join(args)) | |