FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Source.Python/addons/source-python/Python3/_sitebuiltins.py at master · waldotf/Source.Python · GitHub
waldotf
Source.Python
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Source.Python
/
addons
/
source-python
/
Python3
/
_sitebuiltins.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
103 lines (88 loc) · 3.05 KB
Breadcrumbs
Source.Python
/
addons
/
source-python
/
Python3
/
_sitebuiltins.py
Copy path
File metadata and controls
103 lines (88 loc) · 3.05 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
"""
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
# alive.
# Note this means this module should also avoid keep things alive in its
# globals.
import
sys
class
Quitter
(
object
):
def
__init__
(
self
,
name
,
eof
):
self
.
name
=
name
self
.
eof
=
eof
def
__repr__
(
self
):
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.
try
:
sys
.
stdin
.
close
()
except
:
pass
raise
SystemExit
(
code
)
class
_Printer
(
object
):
"""interactive prompt objects for printing the license text, a list of
contributors and the copyright notice."""
MAXLINES
=
23
def
__init__
(
self
,
name
,
data
,
files
=
(),
dirs
=
()):
import
os
self
.
__name
=
name
self
.
__data
=
data
self
.
__lines
=
None
self
.
__filenames
=
[
os
.
path
.
join
(
dir
,
filename
)
for
dir
in
dirs
for
filename
in
files
]
def
__setup
(
self
):
if
self
.
__lines
:
return
data
=
None
for
filename
in
self
.
__filenames
:
try
:
with
open
(
filename
,
encoding
=
'utf-8'
)
as
fp
:
data
=
fp
.
read
()
break
except
OSError
:
pass
if
not
data
:
data
=
self
.
__data
self
.
__lines
=
data
.
split
(
'
\n
'
)
self
.
__linecnt
=
len
(
self
.
__lines
)
def
__repr__
(
self
):
self
.
__setup
()
if
len
(
self
.
__lines
)
<=
self
.
MAXLINES
:
return
"
\n
"
.
join
(
self
.
__lines
)
else
:
return
"Type %s() to see the full %s text"
%
((
self
.
__name
,)
*
2
)
def
__call__
(
self
):
self
.
__setup
()
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
=
input
(
prompt
)
if
key
not
in
(
''
,
'q'
):
key
=
None
if
key
==
'q'
:
break
class
_Helper
(
object
):
"""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'.
"""
def
__repr__
(
self
):
return
"Type help() for interactive help, "
\
"or help(object) for help about object."
def
__call__
(
self
,
*
args
,
**
kwds
):
import
pydoc
return
pydoc
.
help
(
*
args
,
**
kwds
)
Back
|
FazBrowse Home
|
New Git URL