mirror of https://github.com/python/cpython
Add new builtin commands "copyright", "license", "credits" which
display the information you would expect them to display.
This commit is contained in:
parent
f2ffce0518
commit
d1252395bd
53
Lib/site.py
53
Lib/site.py
|
@ -119,7 +119,58 @@ import __builtin__
|
||||||
__builtin__.quit = __builtin__.exit = exit
|
__builtin__.quit = __builtin__.exit = exit
|
||||||
del exit
|
del exit
|
||||||
|
|
||||||
#
|
# interactive prompt objects for printing the license text, a list of
|
||||||
|
# contributors and the copyright notice.
|
||||||
|
class _Printer:
|
||||||
|
MAXLINES = 23
|
||||||
|
|
||||||
|
def __init__(self, s):
|
||||||
|
self.__lines = s.split('\n')
|
||||||
|
self.__linecnt = len(self.__lines)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
prompt = 'Hit Return for more, or q (and Return) to quit: '
|
||||||
|
lineno = 0
|
||||||
|
while 1:
|
||||||
|
try:
|
||||||
|
for i in range(lineno, lineno + self.MAXLINES):
|
||||||
|
print self.__lines[i]
|
||||||
|
except IndexError:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
lineno += self.MAXLINES
|
||||||
|
key = None
|
||||||
|
while key is None:
|
||||||
|
key = raw_input(prompt)
|
||||||
|
if key not in ('', 'q'):
|
||||||
|
key = None
|
||||||
|
if key == 'q':
|
||||||
|
break
|
||||||
|
return ''
|
||||||
|
|
||||||
|
__builtin__.copyright = _Printer(sys.copyright)
|
||||||
|
__builtin__.credits = _Printer(
|
||||||
|
'''Python development is led by BeOpen PythonLabs (www.pythonlabs.com).''')
|
||||||
|
|
||||||
|
def make_license(filename):
|
||||||
|
try:
|
||||||
|
return _Printer(open(filename).read())
|
||||||
|
except IOError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
here = os.path.dirname(os.__file__)
|
||||||
|
for dir in here, os.path.join(here, os.pardir), os.curdir:
|
||||||
|
for file in "LICENSE.txt", "LICENSE":
|
||||||
|
lic = make_license(os.path.join(dir, file))
|
||||||
|
if lic:
|
||||||
|
break
|
||||||
|
if lic:
|
||||||
|
__builtin__.license = lic
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
__builtin__.license = _Printer('See http://hdl.handle.net/1895.22/1012')
|
||||||
|
|
||||||
|
|
||||||
# Set the string encoding used by the Unicode implementation. The
|
# Set the string encoding used by the Unicode implementation. The
|
||||||
# default is 'ascii', but if you're willing to experiment, you can
|
# default is 'ascii', but if you're willing to experiment, you can
|
||||||
# change this.
|
# change this.
|
||||||
|
|
Loading…
Reference in New Issue