The objects used by the site module to add custom builtins.
# Those objects are almost immortal and they keep a reference to their module
# globals. Defining them in the site module would keep too many references
# Note this means this module should also avoid keep things alive in its
def __init__(self, name, eof):
return 'Use %s() or %s to exit' % (self.name, self.eof)
def __call__(self, code=None):
# Shells like IDLE catch the SystemExit, but listen when their
# stdin wrapper is closed.
"""interactive prompt objects for printing the license text, a list of
contributors and the copyright notice."""
def __init__(self, name, data, files=(), dirs=()):
self.__filenames = [os.path.join(dir, filename)
for filename in self.__filenames:
with open(filename, "r") as fp:
self.__lines = data.split('\n')
self.__linecnt = len(self.__lines)
if len(self.__lines) <= self.MAXLINES:
return "\n".join(self.__lines)
return "Type %s() to see the full %s text" % ((self.__name,)*2)
prompt = 'Hit Return for more, or q (and Return) to quit: '
for i in range(lineno, lineno + self.MAXLINES):
"""Define the builtin 'help'.
This is a wrapper around pydoc.help that provides a helpful message
when 'help' is typed at the Python interactive prompt.
Calling help() at the Python prompt starts an interactive help session.
Calling help(thing) prints help for the python object 'thing'.
return "Type help() for interactive help, " \
"or help(object) for help about object."
def __call__(self, *args, **kwds):
return pydoc.help(*args, **kwds)