diff options
author | Fred Drake <fdrake@acm.org> | 1998-04-04 00:54:56 +0000 |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 1998-04-04 00:54:56 +0000 |
commit | a351f89a94d2e45464ed6b9299932f6c3f09e90d (patch) | |
tree | d25cfe1fe01daaebf13078ffdf94ddb3022fa98c /Lib/newdir.py | |
parent | f7d590c93da411e635ff5cad4f697fb64a4833b7 (diff) | |
download | cpython-git-a351f89a94d2e45464ed6b9299932f6c3f09e90d.tar.gz |
Relocating file to Lib/lib-old.
Diffstat (limited to 'Lib/newdir.py')
-rw-r--r-- | Lib/newdir.py | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/Lib/newdir.py b/Lib/newdir.py deleted file mode 100644 index 937c49e67b..0000000000 --- a/Lib/newdir.py +++ /dev/null @@ -1,73 +0,0 @@ -# New dir() function - - -# This should be the new dir(), except that it should still list -# the current local name space by default - -def listattrs(x): - try: - dictkeys = x.__dict__.keys() - except (AttributeError, TypeError): - dictkeys = [] - # - try: - methods = x.__methods__ - except (AttributeError, TypeError): - methods = [] - # - try: - members = x.__members__ - except (AttributeError, TypeError): - members = [] - # - try: - the_class = x.__class__ - except (AttributeError, TypeError): - the_class = None - # - try: - bases = x.__bases__ - except (AttributeError, TypeError): - bases = () - # - total = dictkeys + methods + members - if the_class: - # It's a class instace; add the class's attributes - # that are functions (methods)... - class_attrs = listattrs(the_class) - class_methods = [] - for name in class_attrs: - if is_function(getattr(the_class, name)): - class_methods.append(name) - total = total + class_methods - elif bases: - # It's a derived class; add the base class attributes - for base in bases: - base_attrs = listattrs(base) - total = total + base_attrs - total.sort() - return total - i = 0 - while i+1 < len(total): - if total[i] == total[i+1]: - del total[i+1] - else: - i = i+1 - return total - - -# Helper to recognize functions - -def is_function(x): - return type(x) == type(is_function) - - -# Approximation of builtin dir(); but note that this lists the user's -# variables by default, not the current local name space. - -def dir(x = None): - if x is not None: - return listattrs(x) - else: - import __main__ - return listattrs(__main__) |