Welcome, guest | Sign In | My Account | Store | Cart
import sys

def public(f):
   
""""Use a decorator to avoid retyping function/class names.

   
* Based on an idea by Duncan Booth:
    http
://groups.google.com/group/comp.lang.python/msg/11cbb03e09611b8a
   
* Improved via a suggestion by Dave Angel:
    http
://groups.google.com/group/comp.lang.python/msg/3d400fb22d8a42e1
   
"""
    all = sys.modules[f.__module__].__dict__.setdefault('__all__', [])
    if f.__name__ not in all:  # Prevent duplicates if run from an IDE.
        all.append(f.__name__)
    return f
public(public)  # Emulate decorating ourself

History