Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
9ac216e5
Commit
9ac216e5
authored
Jan 01, 1992
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New == syntax
parent
cfdf58ff
Changes
73
Show whitespace changes
Inline
Side-by-side
Showing
73 changed files
with
420 additions
and
392 deletions
+420
-392
Demo/scripts/fact.py
Demo/scripts/fact.py
+3
-3
Demo/scripts/from.py
Demo/scripts/from.py
+3
-3
Demo/scripts/lpwatch.py
Demo/scripts/lpwatch.py
+7
-7
Demo/scripts/pi.py
Demo/scripts/pi.py
+1
-1
Demo/scripts/primes.py
Demo/scripts/primes.py
+1
-1
Lib/calendar.py
Lib/calendar.py
+4
-4
Lib/cmp.py
Lib/cmp.py
+2
-2
Lib/cmpcache.py
Lib/cmpcache.py
+2
-2
Lib/commands.py
Lib/commands.py
+2
-2
Lib/dircmp.py
Lib/dircmp.py
+1
-1
Lib/dis.py
Lib/dis.py
+2
-2
Lib/dump.py
Lib/dump.py
+3
-3
Lib/fnmatch.py
Lib/fnmatch.py
+24
-18
Lib/getopt.py
Lib/getopt.py
+5
-5
Lib/glob.py
Lib/glob.py
+3
-2
Lib/grep.py
Lib/grep.py
+1
-1
Lib/irix5/auds.py
Lib/irix5/auds.py
+1
-1
Lib/irix5/flp.py
Lib/irix5/flp.py
+29
-29
Lib/irix5/panel.py
Lib/irix5/panel.py
+17
-17
Lib/irix5/panelparser.py
Lib/irix5/panelparser.py
+6
-6
Lib/lib-old/dump.py
Lib/lib-old/dump.py
+3
-3
Lib/lib-old/grep.py
Lib/lib-old/grep.py
+1
-1
Lib/lib-old/newdir.py
Lib/lib-old/newdir.py
+3
-3
Lib/lib-old/tb.py
Lib/lib-old/tb.py
+17
-17
Lib/lib-stdwin/Buttons.py
Lib/lib-stdwin/Buttons.py
+1
-1
Lib/lib-stdwin/CSplit.py
Lib/lib-stdwin/CSplit.py
+1
-1
Lib/lib-stdwin/DirList.py
Lib/lib-stdwin/DirList.py
+1
-1
Lib/lib-stdwin/Split.py
Lib/lib-stdwin/Split.py
+5
-5
Lib/lib-stdwin/StripChart.py
Lib/lib-stdwin/StripChart.py
+1
-1
Lib/lib-stdwin/WindowParent.py
Lib/lib-stdwin/WindowParent.py
+8
-8
Lib/lib-stdwin/WindowSched.py
Lib/lib-stdwin/WindowSched.py
+2
-2
Lib/lib-stdwin/dirwin.py
Lib/lib-stdwin/dirwin.py
+1
-1
Lib/lib-stdwin/formatter.py
Lib/lib-stdwin/formatter.py
+5
-5
Lib/lib-stdwin/gwin.py
Lib/lib-stdwin/gwin.py
+21
-21
Lib/lib-stdwin/tablewin.py
Lib/lib-stdwin/tablewin.py
+4
-4
Lib/macpath.py
Lib/macpath.py
+2
-2
Lib/newdir.py
Lib/newdir.py
+3
-3
Lib/persist.py
Lib/persist.py
+6
-6
Lib/plat-irix5/flp.py
Lib/plat-irix5/flp.py
+29
-29
Lib/plat-irix5/panel.py
Lib/plat-irix5/panel.py
+17
-17
Lib/plat-irix5/panelparser.py
Lib/plat-irix5/panelparser.py
+6
-6
Lib/poly.py
Lib/poly.py
+3
-3
Lib/posixpath.py
Lib/posixpath.py
+9
-9
Lib/sched.py
Lib/sched.py
+2
-2
Lib/stat.py
Lib/stat.py
+7
-7
Lib/statcache.py
Lib/statcache.py
+4
-4
Lib/stdwin/Buttons.py
Lib/stdwin/Buttons.py
+1
-1
Lib/stdwin/CSplit.py
Lib/stdwin/CSplit.py
+1
-1
Lib/stdwin/DirList.py
Lib/stdwin/DirList.py
+1
-1
Lib/stdwin/Split.py
Lib/stdwin/Split.py
+5
-5
Lib/stdwin/StripChart.py
Lib/stdwin/StripChart.py
+1
-1
Lib/stdwin/WindowParent.py
Lib/stdwin/WindowParent.py
+8
-8
Lib/stdwin/WindowSched.py
Lib/stdwin/WindowSched.py
+2
-2
Lib/stdwin/dirwin.py
Lib/stdwin/dirwin.py
+1
-1
Lib/stdwin/formatter.py
Lib/stdwin/formatter.py
+5
-5
Lib/stdwin/gwin.py
Lib/stdwin/gwin.py
+21
-21
Lib/stdwin/tablewin.py
Lib/stdwin/tablewin.py
+4
-4
Lib/string.py
Lib/string.py
+4
-4
Lib/stringold.py
Lib/stringold.py
+4
-4
Lib/sunaudio.py
Lib/sunaudio.py
+1
-1
Lib/tb.py
Lib/tb.py
+17
-17
Lib/test/testall.py
Lib/test/testall.py
+38
-17
Lib/zmod.py
Lib/zmod.py
+2
-2
Mac/Lib/maccache.py
Mac/Lib/maccache.py
+4
-4
Tools/scripts/byteyears.py
Tools/scripts/byteyears.py
+3
-3
Tools/scripts/checkpyc.py
Tools/scripts/checkpyc.py
+4
-4
Tools/scripts/findlinksto.py
Tools/scripts/findlinksto.py
+1
-1
Tools/scripts/objgraph.py
Tools/scripts/objgraph.py
+5
-5
Tools/scripts/pdeps.py
Tools/scripts/pdeps.py
+2
-2
Tools/scripts/ptags.py
Tools/scripts/ptags.py
+1
-1
Tools/scripts/suff.py
Tools/scripts/suff.py
+1
-1
Tools/scripts/which.py
Tools/scripts/which.py
+1
-1
Tools/scripts/xxci.py
Tools/scripts/xxci.py
+3
-3
No files found.
Demo/scripts/fact.py
View file @
9ac216e5
...
...
@@ -12,17 +12,17 @@ error = 'fact.error' # exception
def
fact
(
n
):
if
n
<
1
:
raise
error
# fact() argument should be >= 1
if
n
=
1
:
return
[]
# special case
if
n
=
=
1
:
return
[]
# special case
res
=
[]
# Treat even factors special, so we can use i = i+2 later
while
n
%
2
=
0
:
while
n
%
2
=
=
0
:
res
.
append
(
2
)
n
=
n
/
2
# Try odd numbers up to sqrt(n)
limit
=
sqrt
(
n
+
1
)
i
=
3
while
i
<=
limit
:
if
n
%
i
=
0
:
if
n
%
i
=
=
0
:
res
.
append
(
i
)
n
=
n
/
i
limit
=
sqrt
(
n
+
1
)
...
...
Demo/scripts/from.py
View file @
9ac216e5
...
...
@@ -24,13 +24,13 @@ except RuntimeError:
while
1
:
line
=
mail
.
readline
()
if
not
line
:
break
# EOF
if
line
[:
5
]
=
'From '
:
if
line
[:
5
]
=
=
'From '
:
# Start of message found
print
line
[:
-
1
],
while
1
:
line
=
mail
.
readline
()
if
not
line
:
break
# EOF
if
line
=
'
\
n
'
:
break
# Blank line ends headers
if
line
[:
8
]
=
'Subject:'
:
if
line
=
=
'
\
n
'
:
break
# Blank line ends headers
if
line
[:
8
]
=
=
'Subject:'
:
print
`line[9:-1]`
,
print
Demo/scripts/lpwatch.py
View file @
9ac216e5
...
...
@@ -23,7 +23,7 @@ def main():
# Strip '-P' from printer names just in case
# the user specified it...
for
i
in
range
(
len
(
printers
)):
if
printers
[
i
][:
2
]
=
'-P'
:
if
printers
[
i
][:
2
]
=
=
'-P'
:
printers
[
i
]
=
printers
[
i
][
2
:]
else
:
if
posix
.
environ
.
has_key
(
'PRINTER'
):
...
...
@@ -54,13 +54,13 @@ def makestatus(name, thisuser):
if
not
line
:
break
fields
=
string
.
split
(
line
)
n
=
len
(
fields
)
if
len
(
fields
)
>=
6
and
fields
[
n
-
1
]
=
'bytes'
:
if
len
(
fields
)
>=
6
and
fields
[
n
-
1
]
=
=
'bytes'
:
rank
=
fields
[
0
]
user
=
fields
[
1
]
job
=
fields
[
2
]
files
=
fields
[
3
:
-
2
]
bytes
=
eval
(
fields
[
n
-
2
])
if
user
=
thisuser
:
if
user
=
=
thisuser
:
userseen
=
1
elif
not
userseen
:
aheadbytes
=
aheadbytes
+
bytes
...
...
@@ -77,9 +77,9 @@ def makestatus(name, thisuser):
else
:
if
fields
and
fields
[
0
]
<>
'Rank'
:
line
=
string
.
strip
(
line
)
if
line
=
'no entries'
:
if
line
=
=
'no entries'
:
line
=
name
+
': idle'
elif
line
[
-
22
:]
=
' is ready and printing'
:
elif
line
[
-
22
:]
=
=
' is ready and printing'
:
line
=
name
lines
.
append
(
line
)
#
...
...
@@ -87,12 +87,12 @@ def makestatus(name, thisuser):
line
=
`(totalbytes+1023)/1024`
+
' K'
if
totaljobs
<>
len
(
users
):
line
=
line
+
' ('
+
`totaljobs`
+
' jobs)'
if
len
(
users
)
=
1
:
if
len
(
users
)
=
=
1
:
line
=
line
+
' for '
+
users
.
keys
()[
0
]
else
:
line
=
line
+
' for '
+
`len(users)`
+
' users'
if
userseen
:
if
aheadjobs
=
0
:
if
aheadjobs
=
=
0
:
line
=
line
+
' ('
+
thisuser
+
' first)'
else
:
line
=
line
+
' ('
+
`(aheadbytes+1023)/1024`
...
...
Demo/scripts/pi.py
View file @
9ac216e5
...
...
@@ -19,7 +19,7 @@ def main():
# Print common digits
d
,
d1
=
a
/
b
,
a1
/
b1
#print a, b, a1, b1
while
d
=
d1
:
while
d
=
=
d1
:
# Use write() to avoid spaces between the digits
sys
.
stdout
.
write
(
`int(d)`
)
# Flush so the output is seen immediately
...
...
Demo/scripts/primes.py
View file @
9ac216e5
...
...
@@ -17,7 +17,7 @@ def primes(min, max):
i
=
3
while
i
<=
max
:
for
p
in
primes
:
if
i
%
p
=
0
or
p
*
p
>
i
:
break
if
i
%
p
=
=
0
or
p
*
p
>
i
:
break
if
i
%
p
<>
0
:
primes
.
append
(
i
)
if
i
>=
min
:
print
i
...
...
Lib/calendar.py
View file @
9ac216e5
...
...
@@ -16,7 +16,7 @@ day_0 = 3 # The epoch begins on a Thursday (Monday = 0)
# Return 1 for leap years, 0 for non-leap years
def
isleap
(
year
):
return
year
%
4
=
0
and
(
year
%
100
<>
0
or
year
%
400
=
0
)
return
year
%
4
=
=
0
and
(
year
%
100
<>
0
or
year
%
400
=
=
0
)
# Constants for months referenced later
January
=
1
...
...
@@ -45,7 +45,7 @@ def gmtime(secs):
yday
=
days
month
=
January
while
1
:
md
=
mdays
[
month
]
+
(
month
=
February
and
isleap
(
year
))
md
=
mdays
[
month
]
+
(
month
=
=
February
and
isleap
(
year
))
if
days
<
md
:
break
days
=
days
-
md
month
=
month
+
1
...
...
@@ -122,7 +122,7 @@ def weekday(year, month, day):
# Return weekday (0-6 ~ Mon-Sun) and number of days (28-31) for year, month
def
monthrange
(
year
,
month
):
day1
=
weekday
(
year
,
month
,
1
)
ndays
=
mdays
[
month
]
+
(
month
=
February
and
isleap
(
year
))
ndays
=
mdays
[
month
]
+
(
month
=
=
February
and
isleap
(
year
))
return
day1
,
ndays
# Return a matrix representing a month's calendar
...
...
@@ -161,7 +161,7 @@ def center(str, width):
# Print a single week (no newline)
def
prweek
(
week
,
width
):
for
day
in
week
:
if
day
=
0
:
print
' '
*
width
,
if
day
=
=
0
:
print
' '
*
width
,
else
:
if
width
>
2
:
print
' '
*
(
width
-
3
),
if
day
<
10
:
print
''
,
...
...
Lib/cmp.py
View file @
9ac216e5
...
...
@@ -19,7 +19,7 @@ def cmp(f1, f2): # Compare two files, use the cache if possible.
if
s1
[
0
]
<>
8
or
s2
[
0
]
<>
8
:
# Either is a not a plain file -- always report as different
return
0
if
s1
=
s2
:
if
s1
=
=
s2
:
# type, size & mtime match -- report same
return
1
if
s1
[:
2
]
<>
s2
[:
2
]:
# Types or sizes differ, don't bother
...
...
@@ -30,7 +30,7 @@ def cmp(f1, f2): # Compare two files, use the cache if possible.
try
:
cs1
,
cs2
,
outcome
=
cache
[
key
]
# cache hit
if
s1
=
cs1
and
s2
=
cs2
:
if
s1
=
=
cs1
and
s2
=
=
cs2
:
# cached signatures match
return
outcome
# stale cached signature(s)
...
...
Lib/cmpcache.py
View file @
9ac216e5
...
...
@@ -29,7 +29,7 @@ def cmp(f1, f2):
if
not
S_ISREG
(
s1
[
0
])
or
not
S_ISREG
(
s2
[
0
]):
# Either is a not a plain file -- always report as different
return
0
if
s1
=
s2
:
if
s1
=
=
s2
:
# type, size & mtime match -- report same
return
1
if
s1
[:
2
]
<>
s2
[:
2
]:
# Types or sizes differ, don't bother
...
...
@@ -40,7 +40,7 @@ def cmp(f1, f2):
if
cache
.
has_key
(
key
):
cs1
,
cs2
,
outcome
=
cache
[
key
]
# cache hit
if
s1
=
cs1
and
s2
=
cs2
:
if
s1
=
=
cs1
and
s2
=
=
cs2
:
# cached signatures match
return
outcome
# stale cached signature(s)
...
...
Lib/commands.py
View file @
9ac216e5
...
...
@@ -25,8 +25,8 @@ def getstatusoutput(cmd):
pipe
=
posix
.
popen
(
'{ '
+
cmd
+
'; } 2>&1'
,
'r'
)
text
=
pipe
.
read
()
sts
=
pipe
.
close
()
if
sts
=
None
:
sts
=
0
if
text
[
-
1
:]
=
'
\
n
'
:
text
=
text
[:
-
1
]
if
sts
=
=
None
:
sts
=
0
if
text
[
-
1
:]
=
=
'
\
n
'
:
text
=
text
[:
-
1
]
return
sts
,
text
...
...
Lib/dircmp.py
View file @
9ac216e5
...
...
@@ -174,7 +174,7 @@ def cmp(a, b):
#
def
remove
(
list
,
item
):
for
i
in
range
(
len
(
list
)):
if
list
[
i
]
=
item
:
if
list
[
i
]
=
=
item
:
del
list
[
i
]
break
...
...
Lib/dis.py
View file @
9ac216e5
...
...
@@ -22,8 +22,8 @@ def disassemble(co, lasti):
while
i
<
n
:
c
=
code
[
i
]
op
=
ord
(
c
)
if
op
=
SET_LINENO
and
i
>
0
:
print
# Extra blank line
if
i
=
lasti
:
print
'-->'
,
if
op
=
=
SET_LINENO
and
i
>
0
:
print
# Extra blank line
if
i
=
=
lasti
:
print
'-->'
,
else
:
print
' '
,
if
i
in
labels
:
print
'>>'
,
else
:
print
' '
,
...
...
Lib/dump.py
View file @
9ac216e5
...
...
@@ -31,7 +31,7 @@ def dumpsymtab(dict):
def
dumpvar
(
name
,
x
):
import
sys
t
=
type
(
x
)
if
t
=
type
({}):
if
t
=
=
type
({}):
print
name
,
'= {}'
for
key
in
x
.
keys
():
item
=
x
[
key
]
...
...
@@ -42,7 +42,7 @@ def dumpvar(name, x):
if
not
printable
(
x
):
print
'#'
,
print
name
,
'='
,
`x`
elif
t
=
type
(
sys
):
elif
t
=
=
type
(
sys
):
print
'import'
,
name
,
'#'
,
x
else
:
print
'#'
,
name
,
'='
,
x
...
...
@@ -58,6 +58,6 @@ def printable(x):
if
not
printable
(
item
):
return
0
return
1
if
x
=
{}:
if
x
=
=
{}:
return
1
return
0
Lib/fnmatch.py
View file @
9ac216e5
...
...
@@ -5,64 +5,70 @@ def fnmatch(name, pat):
# Check for simple case: no special characters
#
if
not
(
'*'
in
pat
or
'?'
in
pat
or
'['
in
pat
):
return
name
=
pat
return
name
=
=
pat
#
# Check for common cases: *suffix and prefix*
#
if
pat
[
0
]
=
'*'
:
if
pat
[
0
]
=
=
'*'
:
p1
=
pat
[
1
:]
if
not
(
'*'
in
p1
or
'?'
in
p1
or
'['
in
p1
):
start
=
len
(
name
)
-
len
(
p1
)
return
start
>=
0
and
name
[
start
:]
=
p1
elif
pat
[
-
1
:]
=
'*'
:
return
start
>=
0
and
name
[
start
:]
=
=
p1
elif
pat
[
-
1
:]
=
=
'*'
:
p1
=
pat
[:
-
1
]
if
not
(
'*'
in
p1
or
'?'
in
p1
or
'['
in
p1
):
return
name
[:
len
(
p1
)]
=
p1
return
name
[:
len
(
p1
)]
=
=
p1
#
# General case
#
return
fnmatch1
(
name
,
pat
)
def
fnmatch1
(
name
,
pat
):
for
i
in
range
(
len
(
pat
)):
i
,
n
=
0
,
len
(
pat
)
while
i
<
n
:
c
=
pat
[
i
]
if
c
=
'*'
:
if
c
=
=
'*'
:
p1
=
pat
[
i
+
1
:]
if
not
(
'*'
in
p1
or
'?'
in
p1
or
'['
in
p1
):
start
=
len
(
name
)
-
len
(
p1
)
return
start
>=
0
and
name
[
start
:]
=
p1
return
start
>=
0
and
name
[
start
:]
=
=
p1
for
i
in
range
(
i
,
len
(
name
)
+
1
):
if
fnmatch1
(
name
[
i
:],
p1
):
return
1
return
0
elif
c
=
'?'
:
elif
c
=
=
'?'
:
if
len
(
name
)
<=
i
:
return
0
elif
c
=
'['
:
elif
c
=
=
'['
:
c
,
rest
=
name
[
i
],
name
[
i
+
1
:]
i
,
n
=
i
+
1
,
len
(
pat
)
-
1
match
=
0
exclude
=
0
if
i
<
n
and
pat
[
i
]
=
'!'
:
if
i
<
n
and
pat
[
i
]
=
=
'!'
:
exclude
=
1
i
=
i
+
1
while
i
<
n
:
if
pat
[
i
]
=
c
:
match
=
1
if
pat
[
i
]
=
=
c
:
match
=
1
i
=
i
+
1
if
i
>=
n
or
pat
[
i
]
=
']'
:
if
i
>=
n
or
pat
[
i
]
=
=
']'
:
break
if
pat
[
i
]
=
'-'
:
if
pat
[
i
]
=
=
'-'
:
i
=
i
+
1
if
i
>=
n
or
pat
[
i
]
=
']'
:
if
i
>=
n
or
pat
[
i
]
=
=
']'
:
break
match
=
(
pat
[
i
-
2
]
<=
c
<=
pat
[
i
])
if
pat
[
i
-
2
]
<=
c
<=
pat
[
i
]:
match
=
1
i
=
i
+
1
if
match
=
exclude
:
if
i
>=
n
or
pat
[
i
]
==
']'
:
break
if
match
==
exclude
:
return
0
return
fnmatch1
(
rest
,
pat
[
i
+
1
:])
else
:
if
name
[
i
:
i
+
1
]
<>
c
:
return
0
return
1
i
=
i
+
1
# We don't get here if the pattern contained * or [...]
return
i
>=
len
(
name
)
def
fnmatchlist
(
names
,
pat
):
res
=
[]
...
...
Lib/getopt.py
View file @
9ac216e5
...
...
@@ -22,15 +22,15 @@ error = 'getopt error'
def
getopt
(
args
,
options
):
list
=
[]
while
args
and
args
[
0
][
0
]
=
'-'
and
args
[
0
]
<>
'-'
:
if
args
[
0
]
=
'--'
:
while
args
and
args
[
0
][
0
]
=
=
'-'
and
args
[
0
]
<>
'-'
:
if
args
[
0
]
=
=
'--'
:
args
=
args
[
1
:]
break
optstring
,
args
=
args
[
0
][
1
:],
args
[
1
:]
while
optstring
<>
''
:
opt
,
optstring
=
optstring
[
0
],
optstring
[
1
:]
if
classify
(
opt
,
options
):
# May raise exception as well
if
optstring
=
''
:
if
optstring
=
=
''
:
if
not
args
:
raise
error
,
'option -'
+
opt
+
' requires argument'
optstring
,
args
=
args
[
0
],
args
[
1
:]
...
...
@@ -42,6 +42,6 @@ def getopt(args, options):
def
classify
(
opt
,
options
):
# Helper to check type of option
for
i
in
range
(
len
(
options
)):
if
opt
=
options
[
i
]
<>
':'
:
return
options
[
i
+
1
:
i
+
2
]
=
':'
if
opt
=
=
options
[
i
]
<>
':'
:
return
options
[
i
+
1
:
i
+
2
]
=
=
':'
raise
error
,
'option -'
+
opt
+
' not recognized'
Lib/glob.py
View file @
9ac216e5
...
...
@@ -7,7 +7,7 @@ import fnmatch
def
glob
(
pathname
):
if
not
has_magic
(
pathname
):
return
[
pathname
]
dirname
,
basename
=
path
.
split
(
pathname
)
if
dirname
[
-
1
:]
=
'/'
and
dirname
<>
'/'
:
if
dirname
[
-
1
:]
=
=
'/'
and
dirname
<>
'/'
:
dirname
=
dirname
[:
-
1
]
if
has_magic
(
dirname
):
list
=
glob
(
dirname
)
...
...
@@ -34,9 +34,10 @@ def glob1(dirname, pattern):
names
=
posix
.
listdir
(
dirname
)
except
posix
.
error
:
return
[]
names
.
sort
()
result
=
[]
for
name
in
names
:
if
name
[
0
]
<>
'.'
or
pattern
[
0
]
=
'.'
:
if
name
[
0
]
<>
'.'
or
pattern
[
0
]
=
=
'.'
:
if
fnmatch
.
fnmatch
(
name
,
pattern
):
result
.
append
(
name
)
return
result
...
...
Lib/grep.py
View file @
9ac216e5
...
...
@@ -30,7 +30,7 @@ def ggrep(syntax, pat, filename):
prefix
=
string
.
rjust
(
`lineno`
,
3
)
+
': '
print
prefix
+
line
if
0
:
# XXX
start
,
end
=
prog
.
regs
()
[
0
]
start
,
end
=
prog
.
regs
[
0
]
line
=
line
[:
start
]
if
'
\
t
'
not
in
line
:
prefix
=
' '
*
(
len
(
prefix
)
+
start
)
...
...
Lib/irix5/auds.py
View file @
9ac216e5
...
...
@@ -69,7 +69,7 @@ def stretch(s, a, b):
ib
=
ib
+
b
if
i
>=
m
:
break
if
ib
=
ja
:
if
ib
=
=
ja
:
out
.
append
(
y
[
i
])
else
:
out
.
append
((
y
[
i
]
*
(
ja
-
(
ib
-
b
))
+
y
[
i
-
1
]
*
(
ib
-
ja
))
/
b
)
...
...
Lib/irix5/flp.py
View file @
9ac216e5
...
...
@@ -49,7 +49,7 @@ def parse_forms(filename):
def
_open_formfile
(
filename
):
if
filename
[
-
3
:]
<>
'.fd'
:
filename
=
filename
+
'.fd'
if
filename
[
0
]
=
'/'
:
if
filename
[
0
]
=
=
'/'
:
try
:
fp
=
open
(
filename
,
'r'
)
except
IOError
:
...
...
@@ -62,7 +62,7 @@ def _open_formfile(filename):
break
except
IOError
:
fp
=
None
if
fp
=
None
:
if
fp
=
=
None
:
raise
error
,
'Cannot find forms file '
+
filename
return
fp
...
...
@@ -77,7 +77,7 @@ def _parse_fd_header(file):
# Now skip until we know number of forms
while
1
:
datum
=
_parse_1_line
(
file
)
if
type
(
datum
)
=
type
(())
and
datum
[
0
]
=
'Numberofforms'
:
if
type
(
datum
)
=
=
type
(())
and
datum
[
0
]
=
=
'Numberofforms'
:
break
return
datum
[
1
]
#
...
...
@@ -89,7 +89,7 @@ def _parse_fd_form(file, name):
if
datum
<>
FORMLINE
:
raise
error
,
'Missing === FORM === line'
form
=
_parse_object
(
file
)
if
form
.
Name
=
name
or
name
=
None
:
if
form
.
Name
=
=
name
or
name
=
=
None
:
objs
=
[]
for
j
in
range
(
form
.
Numberofobjects
):
obj
=
_parse_object
(
file
)
...
...
@@ -147,7 +147,7 @@ def _parse_line(line):
if
not
a
:
return
line
name
=
line
[:
a
[
1
][
1
]]
if
name
[
0
]
=
'N'
:
if
name
[
0
]
=
=
'N'
:
name
=
string
.
joinfields
(
string
.
split
(
name
),
''
)
name
=
string
.
lower
(
name
)
name
=
string
.
upper
(
name
[
0
])
+
name
[
1
:]
...
...
@@ -167,7 +167,7 @@ def _readline(file):
def
_parse_1_line
(
file
):
line
=
_readline
(
file
)
while
line
=
''
:
while
line
=
=
''
:
line
=
_readline
(
file
)
return
_parse_line
(
line
)
...
...
@@ -176,7 +176,7 @@ def _skip_object(file):
while
not
line
in
(
SPLITLINE
,
FORMLINE
,
ENDLINE
):
pos
=
file
.
tell
()
line
=
_readline
(
file
)
if
line
=
FORMLINE
:
if
line
=
=
FORMLINE
:
file
.
seek
(
pos
)
def
_parse_object
(
file
):
...
...
@@ -185,7 +185,7 @@ def _parse_object(file):
pos
=
file
.
tell
()
datum
=
_parse_1_line
(
file
)
if
datum
in
(
SPLITLINE
,
FORMLINE
,
ENDLINE
):
if
datum
=
FORMLINE
:
if
datum
=
=
FORMLINE
:
file
.
seek
(
pos
)
return
obj
if
type
(
datum
)
<>
type
(()):
...
...
@@ -266,27 +266,27 @@ def _create_object(form, odata):
# Internal crfunc: helper function that returns correct create function
#
def
_select_crfunc
(
fm
,
cl
):
if
cl
=
FL
.
BEGIN_GROUP
:
return
fm
.
bgn_group
elif
cl
=
FL
.
END_GROUP
:
return
fm
.
end_group
elif
cl
=
FL
.
BITMAP
:
return
fm
.
add_bitmap
elif
cl
=
FL
.
BOX
:
return
fm
.
add_box
elif
cl
=
FL
.
BROWSER
:
return
fm
.
add_browser
elif
cl
=
FL
.
BUTTON
:
return
fm
.
add_button
elif
cl
=
FL
.
CHART
:
return
fm
.
add_chart
elif
cl
=
FL
.
CHOICE
:
return
fm
.
add_choice
elif
cl
=
FL
.
CLOCK
:
return
fm
.
add_clock
elif
cl
=
FL
.
COUNTER
:
return
fm
.
add_counter
elif
cl
=
FL
.
DIAL
:
return
fm
.
add_dial
elif
cl
=
FL
.
FREE
:
return
fm
.
add_free
elif
cl
=
FL
.
INPUT
:
return
fm
.
add_input
elif
cl
=
FL
.
LIGHTBUTTON
:
return
fm
.
add_lightbutton
elif
cl
=
FL
.
MENU
:
return
fm
.
add_menu
elif
cl
=
FL
.
POSITIONER
:
return
fm
.
add_positioner
elif
cl
=
FL
.
ROUNDBUTTON
:
return
fm
.
add_roundbutton
elif
cl
=
FL
.
SLIDER
:
return
fm
.
add_slider
elif
cl
=
FL
.
VALSLIDER
:
return
fm
.
add_valslider
elif
cl
=
FL
.
TEXT
:
return
fm
.
add_text
elif
cl
=
FL
.
TIMER
:
return
fm
.
add_timer
if
cl
=
=
FL
.
BEGIN_GROUP
:
return
fm
.
bgn_group
elif
cl
=
=
FL
.
END_GROUP
:
return
fm
.
end_group
elif
cl
=
=
FL
.
BITMAP
:
return
fm
.
add_bitmap
elif
cl
=
=
FL
.
BOX
:
return
fm
.
add_box
elif
cl
=
=
FL
.
BROWSER
:
return
fm
.
add_browser
elif
cl
=
=
FL
.
BUTTON
:
return
fm
.
add_button
elif
cl
=
=
FL
.
CHART
:
return
fm
.
add_chart
elif
cl
=
=
FL
.
CHOICE
:
return
fm
.
add_choice
elif
cl
=
=
FL
.
CLOCK
:
return
fm
.
add_clock
elif
cl
=
=
FL
.
COUNTER
:
return
fm
.
add_counter
elif
cl
=
=
FL
.
DIAL
:
return
fm
.
add_dial
elif
cl
=
=
FL
.
FREE
:
return
fm
.
add_free
elif
cl
=
=
FL
.
INPUT
:
return
fm
.
add_input
elif
cl
=
=
FL
.
LIGHTBUTTON
:
return
fm
.
add_lightbutton
elif
cl
=
=
FL
.
MENU
:
return
fm
.
add_menu
elif
cl
=
=
FL
.
POSITIONER
:
return
fm
.
add_positioner
elif
cl
=
=
FL
.
ROUNDBUTTON
:
return
fm
.
add_roundbutton
elif
cl
=
=
FL
.
SLIDER
:
return
fm
.
add_slider
elif
cl
=
=
FL
.
VALSLIDER
:
return
fm
.
add_valslider
elif
cl
=
=
FL
.
TEXT
:
return
fm
.
add_text
elif
cl
=
=
FL
.
TIMER
:
return
fm
.
add_timer
else
:
raise
error
,
'Unknown object type: '
+
`cl`
...
...
Lib/irix5/panel.py
View file @
9ac216e5
...
...
@@ -17,7 +17,7 @@ debug = 0
# Test if an object is a list.
#
def
is_list
(
x
):
return
type
(
x
)
=
type
([])
return
type
(
x
)
=
=
type
([])
# Reverse a list.
...
...
@@ -34,7 +34,7 @@ def reverse(list):
#
def
getattrlist
(
list
,
name
):
for
item
in
list
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
name
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
=
name
:
return
item
[
1
:]
return
[]
...
...
@@ -43,8 +43,8 @@ def getattrlist(list, name):
#
def
getproplist
(
list
,
name
):
for
item
in
list
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
'prop'
:
if
len
(
item
)
>
1
and
item
[
1
]
=
name
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
=
'prop'
:
if
len
(
item
)
>
1
and
item
[
1
]
=
=
name
:
return
item
[
2
:]
return
[]
...
...
@@ -53,7 +53,7 @@ def getproplist(list, name):
#
def
is_endgroup
(
list
):
x
=
getproplist
(
list
,
'end-of-group'
)
return
(
x
and
x
[
0
]
=
'#t'
)
return
(
x
and
x
[
0
]
=
=
'#t'
)
# Neatly display an actuator definition given as S-expression
...
...
@@ -63,13 +63,13 @@ def show_actuator(prefix, a):
for
item
in
a
:
if
not
is_list
(
item
):
print
prefix
,
item
elif
item
and
item
[
0
]
=
'al'
:
elif
item
and
item
[
0
]
=
=
'al'
:
print
prefix
,
'Subactuator list:'
for
a
in
item
[
1
:]:
show_actuator
(
prefix
+
' '
,
a
)
elif
len
(
item
)
=
2
:
elif
len
(
item
)
=
=
2
:
print
prefix
,
item
[
0
],
'=>'
,
item
[
1
]
elif
len
(
item
)
=
3
and
item
[
0
]
=
'prop'
:
elif
len
(
item
)
=
=
3
and
item
[
0
]
=
=
'prop'
:
print
prefix
,
'Prop'
,
item
[
1
],
'=>'
,
print
item
[
2
]
else
:
...
...
@@ -82,13 +82,13 @@ def show_panel(prefix, p):
for
item
in
p
:
if
not
is_list
(
item
):
print
prefix
,
item
elif
item
and
item
[
0
]
=
'al'
:
elif
item
and
item
[
0
]
=
=
'al'
:
print
prefix
,
'Actuator list:'
for
a
in
item
[
1
:]:
show_actuator
(
prefix
+
' '
,
a
)
elif
len
(
item
)
=
2
:
elif
len
(
item
)
=
=
2
:
print
prefix
,
item
[
0
],
'=>'
,
item
[
1
]
elif
len
(
item
)
=
3
and
item
[
0
]
=
'prop'
:
elif
len
(
item
)
=
=
3
and
item
[
0
]
=
=
'prop'
:
print
prefix
,
'Prop'
,
item
[
1
],
'=>'
,
print
item
[
2
]
else
:
...
...
@@ -112,14 +112,14 @@ def dummy_callback(arg):
#
def
assign_members
(
target
,
attrlist
,
exclist
,
prefix
):
for
item
in
attrlist
:
if
is_list
(
item
)
and
len
(
item
)
=
2
and
item
[
0
]
not
in
exclist
:
if
is_list
(
item
)
and
len
(
item
)
=
=
2
and
item
[
0
]
not
in
exclist
:
name
,
value
=
item
[
0
],
item
[
1
]
ok
=
1
if
value
[
0
]
in
'-0123456789'
:
value
=
eval
(
value
)
elif
value
[
0
]
=
'"'
:
elif
value
[
0
]
=
=
'"'
:
value
=
value
[
1
:
-
1
]
elif
value
=
'move-then-resize'
:
elif
value
=
=
'move-then-resize'
:
# Strange default set by Panel Editor...
ok
=
0
else
:
...
...
@@ -148,7 +148,7 @@ def build_actuator(descr):
else
:
actuatorname
=
''
type
=
descr
[
0
]
if
type
[:
4
]
=
'pnl_'
:
type
=
type
[
4
:]
if
type
[:
4
]
=
=
'pnl_'
:
type
=
type
[
4
:]
act
=
pnl
.
mkact
(
type
)
act
.
downfunc
=
act
.
activefunc
=
act
.
upfunc
=
dummy_callback
#
...
...
@@ -158,9 +158,9 @@ def build_actuator(descr):
#
datalist
=
getattrlist
(
descr
,
'data'
)
prefix
=
''
if
type
[
-
4
:]
=
'puck'
:
if
type
[
-
4
:]
=
=
'puck'
:
prefix
=
'puck_'
elif
type
=
'mouse'
:
elif
type
=
=
'mouse'
:
prefix
=
'mouse_'
assign_members
(
act
,
datalist
,
[],
prefix
)
#
...
...
Lib/irix5/panelparser.py
View file @
9ac216e5
...
...
@@ -20,16 +20,16 @@ def tokenize_string(s):
c
=
s
[:
1
]
if
c
in
whitespace
:
s
=
s
[
1
:]
elif
c
=
';'
:
elif
c
=
=
';'
:
s
=
''
elif
c
=
'"'
:
elif
c
=
=
'"'
:
n
=
len
(
s
)
i
=
1
while
i
<
n
:
c
=
s
[
i
]
i
=
i
+
1
if
c
=
'"'
:
break
if
c
=
'
\
\
'
:
i
=
i
+
1
if
c
=
=
'"'
:
break
if
c
=
=
'
\
\
'
:
i
=
i
+
1
tokens
.
append
(
s
[:
i
])
s
=
s
[
i
:]
elif
c
in
operators
:
...
...
@@ -78,9 +78,9 @@ def parse_expr(tokens):
while
1
:
if
not
tokens
:
raise
syntax_error
,
'missing ")"'
if
tokens
[
0
]
=
')'
:
if
tokens
[
0
]
=
=
')'
:
return
expr
,
tokens
[
1
:]
elif
tokens
[
0
]
=
'('
:
elif
tokens
[
0
]
=
=
'('
:
subexpr
,
tokens
=
parse_expr
(
tokens
)
expr
.
append
(
subexpr
)
else
:
...
...
Lib/lib-old/dump.py
View file @
9ac216e5
...
...
@@ -31,7 +31,7 @@ def dumpsymtab(dict):
def
dumpvar
(
name
,
x
):
import
sys
t
=
type
(
x
)
if
t
=
type
({}):
if
t
=
=
type
({}):
print
name
,
'= {}'
for
key
in
x
.
keys
():
item
=
x
[
key
]
...
...
@@ -42,7 +42,7 @@ def dumpvar(name, x):
if
not
printable
(
x
):
print
'#'
,
print
name
,
'='
,
`x`
elif
t
=
type
(
sys
):
elif
t
=
=
type
(
sys
):
print
'import'
,
name
,
'#'
,
x
else
:
print
'#'
,
name
,
'='
,
x
...
...
@@ -58,6 +58,6 @@ def printable(x):
if
not
printable
(
item
):
return
0
return
1
if
x
=
{}:
if
x
=
=
{}:
return
1
return
0
Lib/lib-old/grep.py
View file @
9ac216e5
...
...
@@ -30,7 +30,7 @@ def ggrep(syntax, pat, filename):
prefix
=
string
.
rjust
(
`lineno`
,
3
)
+
': '
print
prefix
+
line
if
0
:
# XXX
start
,
end
=
prog
.
regs
()
[
0
]
start
,
end
=
prog
.
regs
[
0
]
line
=
line
[:
start
]
if
'
\
t
'
not
in
line
:
prefix
=
' '
*
(
len
(
prefix
)
+
start
)
...
...
Lib/lib-old/newdir.py
View file @
9ac216e5
...
...
@@ -53,7 +53,7 @@ def listattrs(x):
return
total
i
=
0
while
i
+
1
<
len
(
total
):
if
total
[
i
]
=
total
[
i
+
1
]:
if
total
[
i
]
=
=
total
[
i
+
1
]:
del
total
[
i
+
1
]
else
:
i
=
i
+
1
...
...
@@ -62,7 +62,7 @@ def listattrs(x):
# Helper to recognize functions
#
def
is_function
(
x
):
return
type
(
x
)
=
type
(
is_function
)
return
type
(
x
)
=
=
type
(
is_function
)
# Approximation of builtin dir(); this lists the user's
# variables by default, not the current local name space.
...
...
@@ -71,7 +71,7 @@ def is_function(x):
#
class
_dirclass
:
def
dir
(
args
):
if
type
(
args
)
=
type
(()):
if
type
(
args
)
=
=
type
(()):
return
listattrs
(
args
[
1
])
else
:
import
__main__
...
...
Lib/lib-old/tb.py
View file @
9ac216e5
...
...
@@ -40,19 +40,19 @@ def browser(tb):
break
cmd
=
string
.
strip
(
line
)
if
cmd
:
if
cmd
=
'quit'
:
if
cmd
=
=
'quit'
:
break
elif
cmd
=
'list'
:
elif
cmd
=
=
'list'
:
browserlist
(
tb
)
elif
cmd
=
'up'
:
elif
cmd
=
=
'up'
:
if
ptr
-
1
>=
0
:
ptr
=
ptr
-
1
else
:
print
'Bottom of stack.'
elif
cmd
=
'down'
:
elif
cmd
=
=
'down'
:
if
ptr
+
1
<
len
(
tblist
):
ptr
=
ptr
+
1
else
:
print
'Top of stack.'
elif
cmd
=
'locals'
:
elif
cmd
=
=
'locals'
:
printsymbols
(
tb
.
tb_frame
.
f_locals
)
elif
cmd
=
'globals'
:
elif
cmd
=
=
'globals'
:
printsymbols
(
tb
.
tb_frame
.
f_globals
)
elif
cmd
in
(
'?'
,
'help'
):
browserhelp
()
...
...
@@ -65,10 +65,10 @@ def browserlist(tb):
last
=
lineno
first
=
max
(
1
,
last
-
10
)
for
i
in
range
(
first
,
last
+
1
):
if
i
=
lineno
:
prefix
=
'***'
+
string
.
rjust
(
`i`
,
4
)
+
':'
if
i
=
=
lineno
:
prefix
=
'***'
+
string
.
rjust
(
`i`
,
4
)
+
':'
else
:
prefix
=
string
.
rjust
(
`i`
,
7
)
+
':'
line
=
readfileline
(
filename
,
i
)
if
line
[
-
1
:]
=
'
\
n
'
:
line
=
line
[:
-
1
]
if
line
[
-
1
:]
=
=
'
\
n
'
:
line
=
line
[:
-
1
]
print
prefix
+
line
def
browserexec
(
tb
,
cmd
):
...
...
@@ -126,24 +126,24 @@ def printsymbols(d):
print
def
printobject
(
v
,
maxlevel
):
if
v
=
None
:
if
v
=
=
None
:
print
'None'
,
elif
type
(
v
)
in
(
type
(
0
),
type
(
0.0
)):
print
v
,
elif
type
(
v
)
=
type
(
''
):
elif
type
(
v
)
=
=
type
(
''
):
if
len
(
v
)
>
20
:
print
`v[:17] + '...'`
,
else
:
print
`v`
,
elif
type
(
v
)
=
type
(()):
elif
type
(
v
)
=
=
type
(()):
print
'('
,
printlist
(
v
,
maxlevel
)
print
')'
,
elif
type
(
v
)
=
type
([]):
elif
type
(
v
)
=
=
type
([]):
print
'['
,
printlist
(
v
,
maxlevel
)
print
']'
,
elif
type
(
v
)
=
type
({}):
elif
type
(
v
)
=
=
type
({}):
print
'{'
,
printdict
(
v
,
maxlevel
)
print
'}'
,
...
...
@@ -152,7 +152,7 @@ def printobject(v, maxlevel):
def
printlist
(
v
,
maxlevel
):
n
=
len
(
v
)
if
n
=
0
:
return
if
n
=
=
0
:
return
if
maxlevel
<=
0
:
print
'...'
,
return
...
...
@@ -164,7 +164,7 @@ def printlist(v, maxlevel):
def
printdict
(
v
,
maxlevel
):
keys
=
v
.
keys
()
n
=
len
(
keys
)
if
n
=
0
:
return
if
n
=
=
0
:
return
if
maxlevel
<=
0
:
print
'...'
,
return
...
...
@@ -187,8 +187,8 @@ def readfileline(filename, lineno):
cache_ok
=
0
if
_filecache
.
has_key
(
filename
):
cached_stat
,
lines
=
_filecache
[
filename
]
if
stat
[
ST_SIZE
]
=
cached_stat
[
ST_SIZE
]
and
\
stat
[
ST_MTIME
]
=
cached_stat
[
ST_MTIME
]:
if
stat
[
ST_SIZE
]
=
=
cached_stat
[
ST_SIZE
]
and
\
stat
[
ST_MTIME
]
=
=
cached_stat
[
ST_MTIME
]:
cache_ok
=
1
else
:
print
'Stale cache entry for'
,
filename
...
...
Lib/lib-stdwin/Buttons.py
View file @
9ac216e5
...
...
@@ -110,7 +110,7 @@ class LabelAppearance:
#
def
draw
(
self
,
(
d
,
area
)):
area
=
_rect
.
intersect
(
area
,
self
.
bounds
)
if
area
=
_rect
.
empty
:
if
area
=
=
_rect
.
empty
:
return
d
.
cliprect
(
area
)
self
.
drawit
(
d
)
...
...
Lib/lib-stdwin/CSplit.py
View file @
9ac216e5
...
...
@@ -43,7 +43,7 @@ class CSplit(Split):
# XXX One day Python will have automatic conversions...
n
=
len
(
self
.
children
)
fn
=
float
(
n
)
if
n
=
0
:
return
if
n
=
=
0
:
return
(
left
,
top
),
(
right
,
bottom
)
=
bounds
width
,
height
=
right
-
left
,
bottom
-
top
child_width
,
child_height
=
width
*
3
/
(
n
+
4
),
height
*
3
/
(
n
+
4
)
...
...
Lib/lib-stdwin/DirList.py
View file @
9ac216e5
...
...
@@ -25,7 +25,7 @@ class DirList(VSplit):
if
path
.
isdir
(
path
.
join
(
dirname
,
name
)):
fullname
=
path
.
join
(
dirname
,
name
)
btn
=
SubdirButton
().
definetext
(
self
,
fullname
)
elif
name
[
-
3
:]
=
'.py'
:
elif
name
[
-
3
:]
=
=
'.py'
:
btn
=
ModuleButton
().
definetext
(
self
,
name
)
else
:
btn
=
FileButton
().
definetext
(
self
,
name
)
...
...
Lib/lib-stdwin/Split.py
View file @
9ac216e5
...
...
@@ -116,7 +116,7 @@ class Split:
if
not
self
.
keybd_focus
:
self
.
set_keybd_focus
(
self
.
keybd_interest
[
0
])
type
,
detail
=
type_detail
if
type
=
WE_COMMAND
and
detail
=
WC_TAB
and
\
if
type
=
=
WE_COMMAND
and
detail
=
=
WC_TAB
and
\
len
(
self
.
keybd_interest
)
>
1
:
self
.
next_keybd_focus
()
return
...
...
@@ -144,9 +144,9 @@ class Split:
self
.
timer_interest
.
remove
(
child
)
if
child
in
self
.
altdraw_interest
:
self
.
altdraw_interest
.
remove
(
child
)
if
child
=
self
.
mouse_focus
:
if
child
=
=
self
.
mouse_focus
:
self
.
mouse_focus
=
None
if
child
=
self
.
keybd_focus
:
if
child
=
=
self
.
keybd_focus
:
self
.
keybd_focus
=
None
#
def
need_mouse
(
self
,
child
):
...
...
@@ -154,7 +154,7 @@ class Split:
self
.
mouse_interest
.
append
(
child
)
self
.
parent
.
need_mouse
(
self
)
def
no_mouse
(
self
,
child
):
if
child
=
self
.
mouse_focus
:
if
child
=
=
self
.
mouse_focus
:
self
.
mouse_focus
=
None
if
child
in
self
.
mouse_interest
:
self
.
mouse_interest
.
remove
(
child
)
...
...
@@ -168,7 +168,7 @@ class Split:
if
not
self
.
keybd_focus
:
self
.
set_keybd_focus
(
child
)
def
no_keybd
(
self
,
child
):
if
child
=
self
.
keybd_focus
:
if
child
=
=
self
.
keybd_focus
:
self
.
keybd_focus
=
None
# Don't call child.deactivate()
if
child
in
self
.
keybd_interest
:
self
.
keybd_interest
.
remove
(
child
)
...
...
Lib/lib-stdwin/StripChart.py
View file @
9ac216e5
...
...
@@ -51,7 +51,7 @@ class StripChart(LabelAppearance, NoReactivity):
#
def
draw
(
self
,
(
d
,
area
)):
area
=
rect
.
intersect
(
area
,
self
.
bounds
)
if
area
=
rect
.
empty
:
if
area
=
=
rect
.
empty
:
return
d
.
cliprect
(
area
)
d
.
erase
(
self
.
bounds
)
...
...
Lib/lib-stdwin/WindowParent.py
View file @
9ac216e5
...
...
@@ -149,26 +149,26 @@ class WindowParent(ManageOneChild):
# Only call dispatch once we are realized
#
def
dispatch
(
self
,
(
type
,
win
,
detail
)):
if
type
=
WE_DRAW
:
if
type
=
=
WE_DRAW
:
d
=
self
.
win
.
begindrawing
()
self
.
child
.
draw
(
d
,
detail
)
del
d
if
self
.
do_altdraw
:
self
.
child
.
altdraw
(
detail
)
elif
type
=
WE_MOUSE_DOWN
:
elif
type
=
=
WE_MOUSE_DOWN
:
if
self
.
do_mouse
:
self
.
child
.
mouse_down
(
detail
)
elif
type
=
WE_MOUSE_MOVE
:
elif
type
=
=
WE_MOUSE_MOVE
:
if
self
.
do_mouse
:
self
.
child
.
mouse_move
(
detail
)
elif
type
=
WE_MOUSE_UP
:
elif
type
=
=
WE_MOUSE_UP
:
if
self
.
do_mouse
:
self
.
child
.
mouse_up
(
detail
)
elif
type
in
(
WE_CHAR
,
WE_COMMAND
):
if
self
.
do_keybd
:
self
.
child
.
keybd
(
type
,
detail
)
elif
type
=
WE_TIMER
:
elif
type
=
=
WE_TIMER
:
if
self
.
do_timer
:
self
.
child
.
timer
()
elif
type
=
WE_SIZE
:
elif
type
=
=
WE_SIZE
:
self
.
fixup
()
elif
type
=
WE_CLOSE
:
elif
type
=
=
WE_CLOSE
:
self
.
close_trigger
()
elif
type
=
WE_MENU
:
elif
type
=
=
WE_MENU
:
self
.
menu_trigger
(
detail
)
if
self
.
pending_destroy
:
self
.
destroy
()
...
...
Lib/lib-stdwin/WindowSched.py
View file @
9ac216e5
...
...
@@ -21,7 +21,7 @@ def delayfunc(msecs):
#
# Use millisleep for very short delays or if there are no windows
#
if
msecs
<
100
or
mainloop
.
countwindows
()
=
0
:
if
msecs
<
100
or
mainloop
.
countwindows
()
=
=
0
:
if
msecs
>
0
:
time
.
millisleep
(
msecs
)
return
...
...
@@ -46,7 +46,7 @@ cancel = q.cancel
# Emptiness check must check both queues
#
def
empty
():
return
q
.
empty
()
and
mainloop
.
countwindows
()
=
0
return
q
.
empty
()
and
mainloop
.
countwindows
()
=
=
0
# Run until there is nothing left to do
#
...
...
Lib/lib-stdwin/dirwin.py
View file @
9ac216e5
...
...
@@ -10,7 +10,7 @@ import dircache
def
action
(
w
,
string
,
i
,
detail
):
(
h
,
v
),
clicks
,
button
,
mask
=
detail
if
clicks
=
2
:
if
clicks
=
=
2
:
name
=
path
.
join
(
w
.
name
,
string
)
try
:
w2
=
anywin
.
open
(
name
)
...
...
Lib/lib-stdwin/formatter.py
View file @
9ac216e5
...
...
@@ -175,20 +175,20 @@ def test():
winsize
=
w
.
getwinsize
()
while
1
:
type
,
window
,
detail
=
stdwinq
.
getevent
()
if
type
=
WE_CLOSE
:
if
type
=
=
WE_CLOSE
:
break
elif
type
=
WE_SIZE
:
elif
type
=
=
WE_SIZE
:
newsize
=
w
.
getwinsize
()
if
newsize
<>
winsize
:
w
.
change
((
0
,
0
),
winsize
)
winsize
=
newsize
w
.
change
((
0
,
0
),
winsize
)
elif
type
=
WE_MOUSE_DOWN
:
elif
type
=
=
WE_MOUSE_DOWN
:
stage
=
(
stage
+
1
)
%
len
(
stages
)
justify
,
center
,
title
=
stages
[
stage
]
w
.
settitle
(
title
)
w
.
change
((
0
,
0
),
(
1000
,
1000
))
elif
type
=
WE_DRAW
:
elif
type
=
=
WE_DRAW
:
width
,
height
=
winsize
f
=
formatter
().
init
(
w
.
begindrawing
(),
0
,
0
,
width
)
f
.
center
=
center
...
...
@@ -198,7 +198,7 @@ def test():
for
font
in
font1
,
font2
,
font1
:
f
.
setfont
(
font
)
for
word
in
words
:
space
=
1
+
(
word
[
-
1
:]
=
'.'
)
space
=
1
+
(
word
[
-
1
:]
=
=
'.'
)
f
.
addword
(
word
,
space
)
if
center
and
space
>
1
:
f
.
flush
()
...
...
Lib/lib-stdwin/gwin.py
View file @
9ac216e5
...
...
@@ -49,44 +49,44 @@ def mainloop(): # Handle events until no windows left
def
treatevent
(
e
):
# Handle a stdwin event
type
,
w
,
detail
=
e
if
type
=
WE_DRAW
:
if
type
=
=
WE_DRAW
:
w
.
draw
(
w
,
detail
)
elif
type
=
WE_MENU
:
elif
type
=
=
WE_MENU
:
m
,
item
=
detail
m
.
action
[
item
](
w
,
m
,
item
)
elif
type
=
WE_COMMAND
:
elif
type
=
=
WE_COMMAND
:
treatcommand
(
w
,
detail
)
elif
type
=
WE_CHAR
:
elif
type
=
=
WE_CHAR
:
w
.
char
(
w
,
detail
)
elif
type
=
WE_MOUSE_DOWN
:
elif
type
=
=
WE_MOUSE_DOWN
:
if
detail
[
1
]
>
1
:
w
.
m2down
(
w
,
detail
)
else
:
w
.
mdown
(
w
,
detail
)
elif
type
=
WE_MOUSE_MOVE
:
elif
type
=
=
WE_MOUSE_MOVE
:
w
.
mmove
(
w
,
detail
)
elif
type
=
WE_MOUSE_UP
:
elif
type
=
=
WE_MOUSE_UP
:
if
detail
[
1
]
>
1
:
w
.
m2up
(
w
,
detail
)
else
:
w
.
mup
(
w
,
detail
)
elif
type
=
WE_SIZE
:
elif
type
=
=
WE_SIZE
:
w
.
size
(
w
,
w
.
getwinsize
())
elif
type
=
WE_ACTIVATE
:
elif
type
=
=
WE_ACTIVATE
:
w
.
activate
(
w
)
elif
type
=
WE_DEACTIVATE
:
elif
type
=
=
WE_DEACTIVATE
:
w
.
deactivate
(
w
)
elif
type
=
WE_MOVE
:
elif
type
=
=
WE_MOVE
:
w
.
move
(
w
)
elif
type
=
WE_TIMER
:
elif
type
=
=
WE_TIMER
:
w
.
timer
(
w
)
elif
type
=
WE_CLOSE
:
elif
type
=
=
WE_CLOSE
:
w
.
close
(
w
)
def
treatcommand
(
w
,
type
):
# Handle a we_command event
if
type
=
WC_CLOSE
:
if
type
=
=
WC_CLOSE
:
w
.
close
(
w
)
elif
type
=
WC_RETURN
:
elif
type
=
=
WC_RETURN
:
w
.
enter
(
w
)
elif
type
=
WC_TAB
:
elif
type
=
=
WC_TAB
:
w
.
tab
(
w
)
elif
type
=
WC_BACKSPACE
:
elif
type
=
=
WC_BACKSPACE
:
w
.
backspace
(
w
)
elif
type
in
(
WC_LEFT
,
WC_UP
,
WC_RIGHT
,
WC_DOWN
):
w
.
arrow
(
w
,
type
)
...
...
@@ -101,13 +101,13 @@ def close(w): # Close method
break
def
arrow
(
w
,
detail
):
# Arrow key method
if
detail
=
WC_LEFT
:
if
detail
=
=
WC_LEFT
:
w
.
kleft
(
w
)
elif
detail
=
WC_UP
:
elif
detail
=
=
WC_UP
:
w
.
kup
(
w
)
elif
detail
=
WC_RIGHT
:
elif
detail
=
=
WC_RIGHT
:
w
.
kright
(
w
)
elif
detail
=
WC_DOWN
:
elif
detail
=
=
WC_DOWN
:
w
.
kdown
(
w
)
...
...
Lib/lib-stdwin/tablewin.py
View file @
9ac216e5
...
...
@@ -164,13 +164,13 @@ def whichcol(w, h): # Return column number (may be >= len(w.data))
return
len
(
w
.
data
)
def
arrow
(
w
,
type
):
if
type
=
WC_LEFT
:
if
type
=
=
WC_LEFT
:
incr
=
-
1
,
0
elif
type
=
WC_UP
:
elif
type
=
=
WC_UP
:
incr
=
0
,
-
1
elif
type
=
WC_RIGHT
:
elif
type
=
=
WC_RIGHT
:
incr
=
1
,
0
elif
type
=
WC_DOWN
:
elif
type
=
=
WC_DOWN
:
incr
=
0
,
1
else
:
return
...
...
Lib/macpath.py
View file @
9ac216e5
...
...
@@ -21,7 +21,7 @@ def isabs(s):
def
join
(
s
,
t
):
if
(
not
s
)
or
isabs
(
t
):
return
t
if
t
[:
1
]
=
':'
:
t
=
t
[
1
:]
if
t
[:
1
]
=
=
':'
:
t
=
t
[
1
:]
if
':'
not
in
s
:
s
=
':'
+
s
if
s
[
-
1
:]
<>
':'
:
...
...
@@ -40,7 +40,7 @@ def split(s):
if
':'
not
in
s
:
return
''
,
s
colon
=
0
for
i
in
range
(
len
(
s
)):
if
s
[
i
]
=
':'
:
colon
=
i
+
1
if
s
[
i
]
=
=
':'
:
colon
=
i
+
1
return
s
[:
colon
],
s
[
colon
:]
...
...
Lib/newdir.py
View file @
9ac216e5
...
...
@@ -53,7 +53,7 @@ def listattrs(x):
return
total
i
=
0
while
i
+
1
<
len
(
total
):
if
total
[
i
]
=
total
[
i
+
1
]:
if
total
[
i
]
=
=
total
[
i
+
1
]:
del
total
[
i
+
1
]
else
:
i
=
i
+
1
...
...
@@ -62,7 +62,7 @@ def listattrs(x):
# Helper to recognize functions
#
def
is_function
(
x
):
return
type
(
x
)
=
type
(
is_function
)
return
type
(
x
)
=
=
type
(
is_function
)
# Approximation of builtin dir(); this lists the user's
# variables by default, not the current local name space.
...
...
@@ -71,7 +71,7 @@ def is_function(x):
#
class
_dirclass
:
def
dir
(
args
):
if
type
(
args
)
=
type
(()):
if
type
(
args
)
=
=
type
(()):
return
listattrs
(
args
[
1
])
else
:
import
__main__
...
...
Lib/persist.py
View file @
9ac216e5
...
...
@@ -160,23 +160,23 @@ def dumptype(x, typedict, types, stack):
typedict
[
xrepr
]
=
uid
if
typeswitch
.
has_key
(
xrepr
):
print
FN
,
'['
,
`uid`
,
'] ='
,
typeswitch
[
xrepr
]
elif
x
=
type
(
sys
):
elif
x
=
=
type
(
sys
):
print
'import sys'
print
FN
,
'['
,
`uid`
,
'] = type(sys)'
elif
x
=
type
(
sys
.
stderr
):
elif
x
=
=
type
(
sys
.
stderr
):
print
'import sys'
print
FN
,
'['
,
`uid`
,
'] = type(sys.stderr)'
elif
x
=
type
(
dumptype
):
elif
x
=
=
type
(
dumptype
):
print
'def some_function(): pass'
print
FN
,
'['
,
`uid`
,
'] = type(some_function)'
elif
x
=
type
(
some_class
):
elif
x
=
=
type
(
some_class
):
print
'class some_class(): pass'
print
FN
,
'['
,
`uid`
,
'] = type(some_class)'
elif
x
=
type
(
some_instance
):
elif
x
=
=
type
(
some_instance
):
print
'class another_class(): pass'
print
'some_instance = another_class()'
print
FN
,
'['
,
`uid`
,
'] = type(some_instance)'
elif
x
=
type
(
some_instance
.
method
):
elif
x
=
=
type
(
some_instance
.
method
):
print
'class yet_another_class():'
print
' def method(): pass'
print
'another_instance = yet_another_class()'
...
...
Lib/plat-irix5/flp.py
View file @
9ac216e5
...
...
@@ -49,7 +49,7 @@ def parse_forms(filename):
def
_open_formfile
(
filename
):
if
filename
[
-
3
:]
<>
'.fd'
:
filename
=
filename
+
'.fd'
if
filename
[
0
]
=
'/'
:
if
filename
[
0
]
=
=
'/'
:
try
:
fp
=
open
(
filename
,
'r'
)
except
IOError
:
...
...
@@ -62,7 +62,7 @@ def _open_formfile(filename):
break
except
IOError
:
fp
=
None
if
fp
=
None
:
if
fp
=
=
None
:
raise
error
,
'Cannot find forms file '
+
filename
return
fp
...
...
@@ -77,7 +77,7 @@ def _parse_fd_header(file):
# Now skip until we know number of forms
while
1
:
datum
=
_parse_1_line
(
file
)
if
type
(
datum
)
=
type
(())
and
datum
[
0
]
=
'Numberofforms'
:
if
type
(
datum
)
=
=
type
(())
and
datum
[
0
]
=
=
'Numberofforms'
:
break
return
datum
[
1
]
#
...
...
@@ -89,7 +89,7 @@ def _parse_fd_form(file, name):
if
datum
<>
FORMLINE
:
raise
error
,
'Missing === FORM === line'
form
=
_parse_object
(
file
)
if
form
.
Name
=
name
or
name
=
None
:
if
form
.
Name
=
=
name
or
name
=
=
None
:
objs
=
[]
for
j
in
range
(
form
.
Numberofobjects
):
obj
=
_parse_object
(
file
)
...
...
@@ -147,7 +147,7 @@ def _parse_line(line):
if
not
a
:
return
line
name
=
line
[:
a
[
1
][
1
]]
if
name
[
0
]
=
'N'
:
if
name
[
0
]
=
=
'N'
:
name
=
string
.
joinfields
(
string
.
split
(
name
),
''
)
name
=
string
.
lower
(
name
)
name
=
string
.
upper
(
name
[
0
])
+
name
[
1
:]
...
...
@@ -167,7 +167,7 @@ def _readline(file):
def
_parse_1_line
(
file
):
line
=
_readline
(
file
)
while
line
=
''
:
while
line
=
=
''
:
line
=
_readline
(
file
)
return
_parse_line
(
line
)
...
...
@@ -176,7 +176,7 @@ def _skip_object(file):
while
not
line
in
(
SPLITLINE
,
FORMLINE
,
ENDLINE
):
pos
=
file
.
tell
()
line
=
_readline
(
file
)
if
line
=
FORMLINE
:
if
line
=
=
FORMLINE
:
file
.
seek
(
pos
)
def
_parse_object
(
file
):
...
...
@@ -185,7 +185,7 @@ def _parse_object(file):
pos
=
file
.
tell
()
datum
=
_parse_1_line
(
file
)
if
datum
in
(
SPLITLINE
,
FORMLINE
,
ENDLINE
):
if
datum
=
FORMLINE
:
if
datum
=
=
FORMLINE
:
file
.
seek
(
pos
)
return
obj
if
type
(
datum
)
<>
type
(()):
...
...
@@ -266,27 +266,27 @@ def _create_object(form, odata):
# Internal crfunc: helper function that returns correct create function
#
def
_select_crfunc
(
fm
,
cl
):
if
cl
=
FL
.
BEGIN_GROUP
:
return
fm
.
bgn_group
elif
cl
=
FL
.
END_GROUP
:
return
fm
.
end_group
elif
cl
=
FL
.
BITMAP
:
return
fm
.
add_bitmap
elif
cl
=
FL
.
BOX
:
return
fm
.
add_box
elif
cl
=
FL
.
BROWSER
:
return
fm
.
add_browser
elif
cl
=
FL
.
BUTTON
:
return
fm
.
add_button
elif
cl
=
FL
.
CHART
:
return
fm
.
add_chart
elif
cl
=
FL
.
CHOICE
:
return
fm
.
add_choice
elif
cl
=
FL
.
CLOCK
:
return
fm
.
add_clock
elif
cl
=
FL
.
COUNTER
:
return
fm
.
add_counter
elif
cl
=
FL
.
DIAL
:
return
fm
.
add_dial
elif
cl
=
FL
.
FREE
:
return
fm
.
add_free
elif
cl
=
FL
.
INPUT
:
return
fm
.
add_input
elif
cl
=
FL
.
LIGHTBUTTON
:
return
fm
.
add_lightbutton
elif
cl
=
FL
.
MENU
:
return
fm
.
add_menu
elif
cl
=
FL
.
POSITIONER
:
return
fm
.
add_positioner
elif
cl
=
FL
.
ROUNDBUTTON
:
return
fm
.
add_roundbutton
elif
cl
=
FL
.
SLIDER
:
return
fm
.
add_slider
elif
cl
=
FL
.
VALSLIDER
:
return
fm
.
add_valslider
elif
cl
=
FL
.
TEXT
:
return
fm
.
add_text
elif
cl
=
FL
.
TIMER
:
return
fm
.
add_timer
if
cl
=
=
FL
.
BEGIN_GROUP
:
return
fm
.
bgn_group
elif
cl
=
=
FL
.
END_GROUP
:
return
fm
.
end_group
elif
cl
=
=
FL
.
BITMAP
:
return
fm
.
add_bitmap
elif
cl
=
=
FL
.
BOX
:
return
fm
.
add_box
elif
cl
=
=
FL
.
BROWSER
:
return
fm
.
add_browser
elif
cl
=
=
FL
.
BUTTON
:
return
fm
.
add_button
elif
cl
=
=
FL
.
CHART
:
return
fm
.
add_chart
elif
cl
=
=
FL
.
CHOICE
:
return
fm
.
add_choice
elif
cl
=
=
FL
.
CLOCK
:
return
fm
.
add_clock
elif
cl
=
=
FL
.
COUNTER
:
return
fm
.
add_counter
elif
cl
=
=
FL
.
DIAL
:
return
fm
.
add_dial
elif
cl
=
=
FL
.
FREE
:
return
fm
.
add_free
elif
cl
=
=
FL
.
INPUT
:
return
fm
.
add_input
elif
cl
=
=
FL
.
LIGHTBUTTON
:
return
fm
.
add_lightbutton
elif
cl
=
=
FL
.
MENU
:
return
fm
.
add_menu
elif
cl
=
=
FL
.
POSITIONER
:
return
fm
.
add_positioner
elif
cl
=
=
FL
.
ROUNDBUTTON
:
return
fm
.
add_roundbutton
elif
cl
=
=
FL
.
SLIDER
:
return
fm
.
add_slider
elif
cl
=
=
FL
.
VALSLIDER
:
return
fm
.
add_valslider
elif
cl
=
=
FL
.
TEXT
:
return
fm
.
add_text
elif
cl
=
=
FL
.
TIMER
:
return
fm
.
add_timer
else
:
raise
error
,
'Unknown object type: '
+
`cl`
...
...
Lib/plat-irix5/panel.py
View file @
9ac216e5
...
...
@@ -17,7 +17,7 @@ debug = 0
# Test if an object is a list.
#
def
is_list
(
x
):
return
type
(
x
)
=
type
([])
return
type
(
x
)
=
=
type
([])
# Reverse a list.
...
...
@@ -34,7 +34,7 @@ def reverse(list):
#
def
getattrlist
(
list
,
name
):
for
item
in
list
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
name
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
=
name
:
return
item
[
1
:]
return
[]
...
...
@@ -43,8 +43,8 @@ def getattrlist(list, name):
#
def
getproplist
(
list
,
name
):
for
item
in
list
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
'prop'
:
if
len
(
item
)
>
1
and
item
[
1
]
=
name
:
if
item
and
is_list
(
item
)
and
item
[
0
]
=
=
'prop'
:
if
len
(
item
)
>
1
and
item
[
1
]
=
=
name
:
return
item
[
2
:]
return
[]
...
...
@@ -53,7 +53,7 @@ def getproplist(list, name):
#
def
is_endgroup
(
list
):
x
=
getproplist
(
list
,
'end-of-group'
)
return
(
x
and
x
[
0
]
=
'#t'
)
return
(
x
and
x
[
0
]
=
=
'#t'
)
# Neatly display an actuator definition given as S-expression
...
...
@@ -63,13 +63,13 @@ def show_actuator(prefix, a):
for
item
in
a
:
if
not
is_list
(
item
):
print
prefix
,
item
elif
item
and
item
[
0
]
=
'al'
:
elif
item
and
item
[
0
]
=
=
'al'
:
print
prefix
,
'Subactuator list:'
for
a
in
item
[
1
:]:
show_actuator
(
prefix
+
' '
,
a
)
elif
len
(
item
)
=
2
:
elif
len
(
item
)
=
=
2
:
print
prefix
,
item
[
0
],
'=>'
,
item
[
1
]
elif
len
(
item
)
=
3
and
item
[
0
]
=
'prop'
:
elif
len
(
item
)
=
=
3
and
item
[
0
]
=
=
'prop'
:
print
prefix
,
'Prop'
,
item
[
1
],
'=>'
,
print
item
[
2
]
else
:
...
...
@@ -82,13 +82,13 @@ def show_panel(prefix, p):
for
item
in
p
:
if
not
is_list
(
item
):
print
prefix
,
item
elif
item
and
item
[
0
]
=
'al'
:
elif
item
and
item
[
0
]
=
=
'al'
:
print
prefix
,
'Actuator list:'
for
a
in
item
[
1
:]:
show_actuator
(
prefix
+
' '
,
a
)
elif
len
(
item
)
=
2
:
elif
len
(
item
)
=
=
2
:
print
prefix
,
item
[
0
],
'=>'
,
item
[
1
]
elif
len
(
item
)
=
3
and
item
[
0
]
=
'prop'
:
elif
len
(
item
)
=
=
3
and
item
[
0
]
=
=
'prop'
:
print
prefix
,
'Prop'
,
item
[
1
],
'=>'
,
print
item
[
2
]
else
:
...
...
@@ -112,14 +112,14 @@ def dummy_callback(arg):
#
def
assign_members
(
target
,
attrlist
,
exclist
,
prefix
):
for
item
in
attrlist
:
if
is_list
(
item
)
and
len
(
item
)
=
2
and
item
[
0
]
not
in
exclist
:
if
is_list
(
item
)
and
len
(
item
)
=
=
2
and
item
[
0
]
not
in
exclist
:
name
,
value
=
item
[
0
],
item
[
1
]
ok
=
1
if
value
[
0
]
in
'-0123456789'
:
value
=
eval
(
value
)
elif
value
[
0
]
=
'"'
:
elif
value
[
0
]
=
=
'"'
:
value
=
value
[
1
:
-
1
]
elif
value
=
'move-then-resize'
:
elif
value
=
=
'move-then-resize'
:
# Strange default set by Panel Editor...
ok
=
0
else
:
...
...
@@ -148,7 +148,7 @@ def build_actuator(descr):
else
:
actuatorname
=
''
type
=
descr
[
0
]
if
type
[:
4
]
=
'pnl_'
:
type
=
type
[
4
:]
if
type
[:
4
]
=
=
'pnl_'
:
type
=
type
[
4
:]
act
=
pnl
.
mkact
(
type
)
act
.
downfunc
=
act
.
activefunc
=
act
.
upfunc
=
dummy_callback
#
...
...
@@ -158,9 +158,9 @@ def build_actuator(descr):
#
datalist
=
getattrlist
(
descr
,
'data'
)
prefix
=
''
if
type
[
-
4
:]
=
'puck'
:
if
type
[
-
4
:]
=
=
'puck'
:
prefix
=
'puck_'
elif
type
=
'mouse'
:
elif
type
=
=
'mouse'
:
prefix
=
'mouse_'
assign_members
(
act
,
datalist
,
[],
prefix
)
#
...
...
Lib/plat-irix5/panelparser.py
View file @
9ac216e5
...
...
@@ -20,16 +20,16 @@ def tokenize_string(s):
c
=
s
[:
1
]
if
c
in
whitespace
:
s
=
s
[
1
:]
elif
c
=
';'
:
elif
c
=
=
';'
:
s
=
''
elif
c
=
'"'
:
elif
c
=
=
'"'
:
n
=
len
(
s
)
i
=
1
while
i
<
n
:
c
=
s
[
i
]
i
=
i
+
1
if
c
=
'"'
:
break
if
c
=
'
\
\
'
:
i
=
i
+
1
if
c
=
=
'"'
:
break
if
c
=
=
'
\
\
'
:
i
=
i
+
1
tokens
.
append
(
s
[:
i
])
s
=
s
[
i
:]
elif
c
in
operators
:
...
...
@@ -78,9 +78,9 @@ def parse_expr(tokens):
while
1
:
if
not
tokens
:
raise
syntax_error
,
'missing ")"'
if
tokens
[
0
]
=
')'
:
if
tokens
[
0
]
=
=
')'
:
return
expr
,
tokens
[
1
:]
elif
tokens
[
0
]
=
'('
:
elif
tokens
[
0
]
=
=
'('
:
subexpr
,
tokens
=
parse_expr
(
tokens
)
expr
.
append
(
subexpr
)
else
:
...
...
Lib/poly.py
View file @
9ac216e5
...
...
@@ -39,9 +39,9 @@ def times(a, b):
return
res
def
power
(
a
,
n
):
# Raise polynomial a to the positive integral power n
if
n
=
0
:
return
[
1
]
if
n
=
1
:
return
a
if
n
/
2
*
2
=
n
:
if
n
=
=
0
:
return
[
1
]
if
n
=
=
1
:
return
a
if
n
/
2
*
2
=
=
n
:
b
=
power
(
a
,
n
/
2
)
return
times
(
b
,
b
)
return
times
(
power
(
a
,
n
-
1
),
a
)
...
...
Lib/posixpath.py
View file @
9ac216e5
...
...
@@ -10,8 +10,8 @@ import stat
# (begins with '/').
#
def
join
(
a
,
b
):
if
b
[:
1
]
=
'/'
:
return
b
if
a
=
''
or
a
[
-
1
:]
=
'/'
:
return
a
+
b
if
b
[:
1
]
=
=
'/'
:
return
b
if
a
=
=
''
or
a
[
-
1
:]
=
=
'/'
:
return
a
+
b
# Note: join('x', '') returns 'x/'; is this what we want?
return
a
+
'/'
+
b
...
...
@@ -27,7 +27,7 @@ def split(p):
head
,
tail
=
''
,
''
for
c
in
p
:
tail
=
tail
+
c
if
c
=
'/'
:
if
c
=
=
'/'
:
head
,
tail
=
head
+
tail
,
''
return
head
,
tail
...
...
@@ -40,9 +40,9 @@ def split(p):
def
splitext
(
p
):
root
,
ext
=
''
,
''
for
c
in
p
:
if
c
=
'/'
:
if
c
=
=
'/'
:
root
,
ext
=
root
+
ext
+
c
,
''
elif
c
=
'.'
or
ext
:
elif
c
=
=
'.'
or
ext
:
ext
=
ext
+
c
else
:
root
=
root
+
c
...
...
@@ -64,7 +64,7 @@ def commonprefix(m):
for
i
in
range
(
len
(
prefix
)):
if
prefix
[:
i
+
1
]
<>
item
[:
i
+
1
]:
prefix
=
prefix
[:
i
]
if
i
=
0
:
return
''
if
i
=
=
0
:
return
''
break
return
prefix
...
...
@@ -122,8 +122,8 @@ def sameopenfile(fp1, fp2):
# describing the same file?
#
def
samestat
(
s1
,
s2
):
return
s1
[
stat
.
ST_INO
]
=
s2
[
stat
.
ST_INO
]
and
\
s1
[
stat
.
ST_DEV
]
=
s2
[
stat
.
STD_DEV
]
return
s1
[
stat
.
ST_INO
]
=
=
s2
[
stat
.
ST_INO
]
and
\
s1
[
stat
.
ST_DEV
]
=
=
s2
[
stat
.
STD_DEV
]
# Subroutine and global data used by ismount().
...
...
@@ -137,7 +137,7 @@ def _getmounts():
lines
=
string
.
splitfields
(
data
,
'
\
n
'
)
for
line
in
lines
:
words
=
string
.
split
(
line
)
if
len
(
words
)
>=
3
and
words
[
1
]
=
'on'
:
if
len
(
words
)
>=
3
and
words
[
1
]
=
=
'on'
:
mounts
.
append
(
words
[
2
])
return
mounts
...
...
Lib/sched.py
View file @
9ac216e5
...
...
@@ -49,7 +49,7 @@ class scheduler:
for
i
in
range
(
len
(
q
)):
qtime
,
qpri
,
qact
,
qarg
=
q
[
i
]
if
time
<
qtime
:
break
if
time
=
qtime
and
priority
<
qpri
:
break
if
time
=
=
qtime
and
priority
<
qpri
:
break
else
:
i
=
len
(
q
)
q
.
insert
(
i
,
event
)
...
...
@@ -72,7 +72,7 @@ class scheduler:
# Check whether the queue is empty.
#
def
empty
(
self
):
return
len
(
self
.
queue
)
=
0
return
len
(
self
.
queue
)
=
=
0
#
# Run: execute events until the queue is empty.
#
...
...
Lib/stat.py
View file @
9ac216e5
...
...
@@ -36,22 +36,22 @@ S_IFLNK = 0120000
S_IFSOCK
=
0140000
def
S_ISDIR
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFDIR
return
S_IFMT
(
mode
)
=
=
S_IFDIR
def
S_ISCHR
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFCHR
return
S_IFMT
(
mode
)
=
=
S_IFCHR
def
S_ISBLK
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFBLK
return
S_IFMT
(
mode
)
=
=
S_IFBLK
def
S_ISREG
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFREG
return
S_IFMT
(
mode
)
=
=
S_IFREG
def
S_ISFIFO
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFIFO
return
S_IFMT
(
mode
)
=
=
S_IFIFO
def
S_ISLNK
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFLNK
return
S_IFMT
(
mode
)
=
=
S_IFLNK
def
S_ISSOCK
(
mode
):
return
S_IFMT
(
mode
)
=
S_IFSOCK
return
S_IFMT
(
mode
)
=
=
S_IFSOCK
Lib/statcache.py
View file @
9ac216e5
...
...
@@ -44,7 +44,7 @@ def forget(path):
def
forget_prefix
(
prefix
):
n
=
len
(
prefix
)
for
path
in
cache
.
keys
():
if
path
[:
n
]
=
prefix
:
if
path
[:
n
]
=
=
prefix
:
del
cache
[
path
]
...
...
@@ -52,16 +52,16 @@ def forget_prefix(prefix):
# entries in subdirectories.
#
def
forget_dir
(
prefix
):
if
prefix
[
-
1
:]
=
'/'
and
prefix
<>
'/'
:
if
prefix
[
-
1
:]
=
=
'/'
and
prefix
<>
'/'
:
prefix
=
prefix
[:
-
1
]
forget
(
prefix
)
if
prefix
[
-
1
:]
<>
'/'
:
prefix
=
prefix
+
'/'
n
=
len
(
prefix
)
for
path
in
cache
.
keys
():
if
path
[:
n
]
=
prefix
:
if
path
[:
n
]
=
=
prefix
:
rest
=
path
[
n
:]
if
rest
[
-
1
:]
=
'/'
:
rest
=
rest
[:
-
1
]
if
rest
[
-
1
:]
=
=
'/'
:
rest
=
rest
[:
-
1
]
if
'/'
not
in
rest
:
del
cache
[
path
]
...
...
Lib/stdwin/Buttons.py
View file @
9ac216e5
...
...
@@ -110,7 +110,7 @@ class LabelAppearance:
#
def
draw
(
self
,
(
d
,
area
)):
area
=
_rect
.
intersect
(
area
,
self
.
bounds
)
if
area
=
_rect
.
empty
:
if
area
=
=
_rect
.
empty
:
return
d
.
cliprect
(
area
)
self
.
drawit
(
d
)
...
...
Lib/stdwin/CSplit.py
View file @
9ac216e5
...
...
@@ -43,7 +43,7 @@ class CSplit(Split):
# XXX One day Python will have automatic conversions...
n
=
len
(
self
.
children
)
fn
=
float
(
n
)
if
n
=
0
:
return
if
n
=
=
0
:
return
(
left
,
top
),
(
right
,
bottom
)
=
bounds
width
,
height
=
right
-
left
,
bottom
-
top
child_width
,
child_height
=
width
*
3
/
(
n
+
4
),
height
*
3
/
(
n
+
4
)
...
...
Lib/stdwin/DirList.py
View file @
9ac216e5
...
...
@@ -25,7 +25,7 @@ class DirList(VSplit):
if
path
.
isdir
(
path
.
join
(
dirname
,
name
)):
fullname
=
path
.
join
(
dirname
,
name
)
btn
=
SubdirButton
().
definetext
(
self
,
fullname
)
elif
name
[
-
3
:]
=
'.py'
:
elif
name
[
-
3
:]
=
=
'.py'
:
btn
=
ModuleButton
().
definetext
(
self
,
name
)
else
:
btn
=
FileButton
().
definetext
(
self
,
name
)
...
...
Lib/stdwin/Split.py
View file @
9ac216e5
...
...
@@ -116,7 +116,7 @@ class Split:
if
not
self
.
keybd_focus
:
self
.
set_keybd_focus
(
self
.
keybd_interest
[
0
])
type
,
detail
=
type_detail
if
type
=
WE_COMMAND
and
detail
=
WC_TAB
and
\
if
type
=
=
WE_COMMAND
and
detail
=
=
WC_TAB
and
\
len
(
self
.
keybd_interest
)
>
1
:
self
.
next_keybd_focus
()
return
...
...
@@ -144,9 +144,9 @@ class Split:
self
.
timer_interest
.
remove
(
child
)
if
child
in
self
.
altdraw_interest
:
self
.
altdraw_interest
.
remove
(
child
)
if
child
=
self
.
mouse_focus
:
if
child
=
=
self
.
mouse_focus
:
self
.
mouse_focus
=
None
if
child
=
self
.
keybd_focus
:
if
child
=
=
self
.
keybd_focus
:
self
.
keybd_focus
=
None
#
def
need_mouse
(
self
,
child
):
...
...
@@ -154,7 +154,7 @@ class Split:
self
.
mouse_interest
.
append
(
child
)
self
.
parent
.
need_mouse
(
self
)
def
no_mouse
(
self
,
child
):
if
child
=
self
.
mouse_focus
:
if
child
=
=
self
.
mouse_focus
:
self
.
mouse_focus
=
None
if
child
in
self
.
mouse_interest
:
self
.
mouse_interest
.
remove
(
child
)
...
...
@@ -168,7 +168,7 @@ class Split:
if
not
self
.
keybd_focus
:
self
.
set_keybd_focus
(
child
)
def
no_keybd
(
self
,
child
):
if
child
=
self
.
keybd_focus
:
if
child
=
=
self
.
keybd_focus
:
self
.
keybd_focus
=
None
# Don't call child.deactivate()
if
child
in
self
.
keybd_interest
:
self
.
keybd_interest
.
remove
(
child
)
...
...
Lib/stdwin/StripChart.py
View file @
9ac216e5
...
...
@@ -51,7 +51,7 @@ class StripChart(LabelAppearance, NoReactivity):
#
def
draw
(
self
,
(
d
,
area
)):
area
=
rect
.
intersect
(
area
,
self
.
bounds
)
if
area
=
rect
.
empty
:
if
area
=
=
rect
.
empty
:
return
d
.
cliprect
(
area
)
d
.
erase
(
self
.
bounds
)
...
...
Lib/stdwin/WindowParent.py
View file @
9ac216e5
...
...
@@ -149,26 +149,26 @@ class WindowParent(ManageOneChild):
# Only call dispatch once we are realized
#
def
dispatch
(
self
,
(
type
,
win
,
detail
)):
if
type
=
WE_DRAW
:
if
type
=
=
WE_DRAW
:
d
=
self
.
win
.
begindrawing
()
self
.
child
.
draw
(
d
,
detail
)
del
d
if
self
.
do_altdraw
:
self
.
child
.
altdraw
(
detail
)
elif
type
=
WE_MOUSE_DOWN
:
elif
type
=
=
WE_MOUSE_DOWN
:
if
self
.
do_mouse
:
self
.
child
.
mouse_down
(
detail
)
elif
type
=
WE_MOUSE_MOVE
:
elif
type
=
=
WE_MOUSE_MOVE
:
if
self
.
do_mouse
:
self
.
child
.
mouse_move
(
detail
)
elif
type
=
WE_MOUSE_UP
:
elif
type
=
=
WE_MOUSE_UP
:
if
self
.
do_mouse
:
self
.
child
.
mouse_up
(
detail
)
elif
type
in
(
WE_CHAR
,
WE_COMMAND
):
if
self
.
do_keybd
:
self
.
child
.
keybd
(
type
,
detail
)
elif
type
=
WE_TIMER
:
elif
type
=
=
WE_TIMER
:
if
self
.
do_timer
:
self
.
child
.
timer
()
elif
type
=
WE_SIZE
:
elif
type
=
=
WE_SIZE
:
self
.
fixup
()
elif
type
=
WE_CLOSE
:
elif
type
=
=
WE_CLOSE
:
self
.
close_trigger
()
elif
type
=
WE_MENU
:
elif
type
=
=
WE_MENU
:
self
.
menu_trigger
(
detail
)
if
self
.
pending_destroy
:
self
.
destroy
()
...
...
Lib/stdwin/WindowSched.py
View file @
9ac216e5
...
...
@@ -21,7 +21,7 @@ def delayfunc(msecs):
#
# Use millisleep for very short delays or if there are no windows
#
if
msecs
<
100
or
mainloop
.
countwindows
()
=
0
:
if
msecs
<
100
or
mainloop
.
countwindows
()
=
=
0
:
if
msecs
>
0
:
time
.
millisleep
(
msecs
)
return
...
...
@@ -46,7 +46,7 @@ cancel = q.cancel
# Emptiness check must check both queues
#
def
empty
():
return
q
.
empty
()
and
mainloop
.
countwindows
()
=
0
return
q
.
empty
()
and
mainloop
.
countwindows
()
=
=
0
# Run until there is nothing left to do
#
...
...
Lib/stdwin/dirwin.py
View file @
9ac216e5
...
...
@@ -10,7 +10,7 @@ import dircache
def
action
(
w
,
string
,
i
,
detail
):
(
h
,
v
),
clicks
,
button
,
mask
=
detail
if
clicks
=
2
:
if
clicks
=
=
2
:
name
=
path
.
join
(
w
.
name
,
string
)
try
:
w2
=
anywin
.
open
(
name
)
...
...
Lib/stdwin/formatter.py
View file @
9ac216e5
...
...
@@ -175,20 +175,20 @@ def test():
winsize
=
w
.
getwinsize
()
while
1
:
type
,
window
,
detail
=
stdwinq
.
getevent
()
if
type
=
WE_CLOSE
:
if
type
=
=
WE_CLOSE
:
break
elif
type
=
WE_SIZE
:
elif
type
=
=
WE_SIZE
:
newsize
=
w
.
getwinsize
()
if
newsize
<>
winsize
:
w
.
change
((
0
,
0
),
winsize
)
winsize
=
newsize
w
.
change
((
0
,
0
),
winsize
)
elif
type
=
WE_MOUSE_DOWN
:
elif
type
=
=
WE_MOUSE_DOWN
:
stage
=
(
stage
+
1
)
%
len
(
stages
)
justify
,
center
,
title
=
stages
[
stage
]
w
.
settitle
(
title
)
w
.
change
((
0
,
0
),
(
1000
,
1000
))
elif
type
=
WE_DRAW
:
elif
type
=
=
WE_DRAW
:
width
,
height
=
winsize
f
=
formatter
().
init
(
w
.
begindrawing
(),
0
,
0
,
width
)
f
.
center
=
center
...
...
@@ -198,7 +198,7 @@ def test():
for
font
in
font1
,
font2
,
font1
:
f
.
setfont
(
font
)
for
word
in
words
:
space
=
1
+
(
word
[
-
1
:]
=
'.'
)
space
=
1
+
(
word
[
-
1
:]
=
=
'.'
)
f
.
addword
(
word
,
space
)
if
center
and
space
>
1
:
f
.
flush
()
...
...
Lib/stdwin/gwin.py
View file @
9ac216e5
...
...
@@ -49,44 +49,44 @@ def mainloop(): # Handle events until no windows left
def
treatevent
(
e
):
# Handle a stdwin event
type
,
w
,
detail
=
e
if
type
=
WE_DRAW
:
if
type
=
=
WE_DRAW
:
w
.
draw
(
w
,
detail
)
elif
type
=
WE_MENU
:
elif
type
=
=
WE_MENU
:
m
,
item
=
detail
m
.
action
[
item
](
w
,
m
,
item
)
elif
type
=
WE_COMMAND
:
elif
type
=
=
WE_COMMAND
:
treatcommand
(
w
,
detail
)
elif
type
=
WE_CHAR
:
elif
type
=
=
WE_CHAR
:
w
.
char
(
w
,
detail
)
elif
type
=
WE_MOUSE_DOWN
:
elif
type
=
=
WE_MOUSE_DOWN
:
if
detail
[
1
]
>
1
:
w
.
m2down
(
w
,
detail
)
else
:
w
.
mdown
(
w
,
detail
)
elif
type
=
WE_MOUSE_MOVE
:
elif
type
=
=
WE_MOUSE_MOVE
:
w
.
mmove
(
w
,
detail
)
elif
type
=
WE_MOUSE_UP
:
elif
type
=
=
WE_MOUSE_UP
:
if
detail
[
1
]
>
1
:
w
.
m2up
(
w
,
detail
)
else
:
w
.
mup
(
w
,
detail
)
elif
type
=
WE_SIZE
:
elif
type
=
=
WE_SIZE
:
w
.
size
(
w
,
w
.
getwinsize
())
elif
type
=
WE_ACTIVATE
:
elif
type
=
=
WE_ACTIVATE
:
w
.
activate
(
w
)
elif
type
=
WE_DEACTIVATE
:
elif
type
=
=
WE_DEACTIVATE
:
w
.
deactivate
(
w
)
elif
type
=
WE_MOVE
:
elif
type
=
=
WE_MOVE
:
w
.
move
(
w
)
elif
type
=
WE_TIMER
:
elif
type
=
=
WE_TIMER
:
w
.
timer
(
w
)
elif
type
=
WE_CLOSE
:
elif
type
=
=
WE_CLOSE
:
w
.
close
(
w
)
def
treatcommand
(
w
,
type
):
# Handle a we_command event
if
type
=
WC_CLOSE
:
if
type
=
=
WC_CLOSE
:
w
.
close
(
w
)
elif
type
=
WC_RETURN
:
elif
type
=
=
WC_RETURN
:
w
.
enter
(
w
)
elif
type
=
WC_TAB
:
elif
type
=
=
WC_TAB
:
w
.
tab
(
w
)
elif
type
=
WC_BACKSPACE
:
elif
type
=
=
WC_BACKSPACE
:
w
.
backspace
(
w
)
elif
type
in
(
WC_LEFT
,
WC_UP
,
WC_RIGHT
,
WC_DOWN
):
w
.
arrow
(
w
,
type
)
...
...
@@ -101,13 +101,13 @@ def close(w): # Close method
break
def
arrow
(
w
,
detail
):
# Arrow key method
if
detail
=
WC_LEFT
:
if
detail
=
=
WC_LEFT
:
w
.
kleft
(
w
)
elif
detail
=
WC_UP
:
elif
detail
=
=
WC_UP
:
w
.
kup
(
w
)
elif
detail
=
WC_RIGHT
:
elif
detail
=
=
WC_RIGHT
:
w
.
kright
(
w
)
elif
detail
=
WC_DOWN
:
elif
detail
=
=
WC_DOWN
:
w
.
kdown
(
w
)
...
...
Lib/stdwin/tablewin.py
View file @
9ac216e5
...
...
@@ -164,13 +164,13 @@ def whichcol(w, h): # Return column number (may be >= len(w.data))
return
len
(
w
.
data
)
def
arrow
(
w
,
type
):
if
type
=
WC_LEFT
:
if
type
=
=
WC_LEFT
:
incr
=
-
1
,
0
elif
type
=
WC_UP
:
elif
type
=
=
WC_UP
:
incr
=
0
,
-
1
elif
type
=
WC_RIGHT
:
elif
type
=
=
WC_RIGHT
:
incr
=
1
,
0
elif
type
=
WC_DOWN
:
elif
type
=
=
WC_DOWN
:
incr
=
0
,
1
else
:
return
...
...
Lib/string.py
View file @
9ac216e5
...
...
@@ -56,7 +56,7 @@ def split(s):
i
,
n
=
0
,
len
(
s
)
while
i
<
n
:
while
i
<
n
and
s
[
i
]
in
whitespace
:
i
=
i
+
1
if
i
=
n
:
break
if
i
=
=
n
:
break
j
=
i
while
j
<
n
and
s
[
j
]
not
in
whitespace
:
j
=
j
+
1
res
.
append
(
s
[
i
:
j
])
...
...
@@ -71,7 +71,7 @@ def splitfields(s, sep):
nsep
=
len
(
sep
)
i
=
j
=
0
while
j
+
nsep
<=
ns
:
if
s
[
j
:
j
+
nsep
]
=
sep
:
if
s
[
j
:
j
+
nsep
]
=
=
sep
:
res
.
append
(
s
[
i
:
j
])
i
=
j
=
j
+
nsep
else
:
...
...
@@ -98,7 +98,7 @@ index_error = 'substring not found in string.index'
def
index
(
s
,
sub
):
n
=
len
(
sub
)
for
i
in
range
(
len
(
s
)
+
1
-
n
):
if
sub
=
s
[
i
:
i
+
n
]:
return
i
if
sub
=
=
s
[
i
:
i
+
n
]:
return
i
raise
index_error
,
(
s
,
sub
)
# Convert string to integer
...
...
@@ -137,7 +137,7 @@ def center(s, width):
# Decadent feature: the argument may be a string or a number
# (Use of this is deprecated; it should be a string as with ljust c.s.)
def
zfill
(
x
,
width
):
if
type
(
x
)
=
type
(
''
):
s
=
x
if
type
(
x
)
=
=
type
(
''
):
s
=
x
else
:
s
=
`x`
n
=
len
(
s
)
if
n
>=
width
:
return
s
...
...
Lib/stringold.py
View file @
9ac216e5
...
...
@@ -56,7 +56,7 @@ def split(s):
i
,
n
=
0
,
len
(
s
)
while
i
<
n
:
while
i
<
n
and
s
[
i
]
in
whitespace
:
i
=
i
+
1
if
i
=
n
:
break
if
i
=
=
n
:
break
j
=
i
while
j
<
n
and
s
[
j
]
not
in
whitespace
:
j
=
j
+
1
res
.
append
(
s
[
i
:
j
])
...
...
@@ -71,7 +71,7 @@ def splitfields(s, sep):
nsep
=
len
(
sep
)
i
=
j
=
0
while
j
+
nsep
<=
ns
:
if
s
[
j
:
j
+
nsep
]
=
sep
:
if
s
[
j
:
j
+
nsep
]
=
=
sep
:
res
.
append
(
s
[
i
:
j
])
i
=
j
=
j
+
nsep
else
:
...
...
@@ -98,7 +98,7 @@ index_error = 'substring not found in string.index'
def
index
(
s
,
sub
):
n
=
len
(
sub
)
for
i
in
range
(
len
(
s
)
+
1
-
n
):
if
sub
=
s
[
i
:
i
+
n
]:
return
i
if
sub
=
=
s
[
i
:
i
+
n
]:
return
i
raise
index_error
,
(
s
,
sub
)
# Convert string to integer
...
...
@@ -137,7 +137,7 @@ def center(s, width):
# Decadent feature: the argument may be a string or a number
# (Use of this is deprecated; it should be a string as with ljust c.s.)
def
zfill
(
x
,
width
):
if
type
(
x
)
=
type
(
''
):
s
=
x
if
type
(
x
)
=
=
type
(
''
):
s
=
x
else
:
s
=
`x`
n
=
len
(
s
)
if
n
>=
width
:
return
s
...
...
Lib/sunaudio.py
View file @
9ac216e5
...
...
@@ -44,7 +44,7 @@ def gethdr(fp):
def
printhdr
(
file
):
hdr
=
gethdr
(
open
(
file
,
'r'
))
data_size
,
encoding
,
sample_rate
,
channels
,
info
=
hdr
while
info
[
-
1
:]
=
'
\
0
'
:
while
info
[
-
1
:]
=
=
'
\
0
'
:
info
=
info
[:
-
1
]
print
'File name: '
,
file
print
'Data size: '
,
data_size
...
...
Lib/tb.py
View file @
9ac216e5
...
...
@@ -40,19 +40,19 @@ def browser(tb):
break
cmd
=
string
.
strip
(
line
)
if
cmd
:
if
cmd
=
'quit'
:
if
cmd
=
=
'quit'
:
break
elif
cmd
=
'list'
:
elif
cmd
=
=
'list'
:
browserlist
(
tb
)
elif
cmd
=
'up'
:
elif
cmd
=
=
'up'
:
if
ptr
-
1
>=
0
:
ptr
=
ptr
-
1
else
:
print
'Bottom of stack.'
elif
cmd
=
'down'
:
elif
cmd
=
=
'down'
:
if
ptr
+
1
<
len
(
tblist
):
ptr
=
ptr
+
1
else
:
print
'Top of stack.'
elif
cmd
=
'locals'
:
elif
cmd
=
=
'locals'
:
printsymbols
(
tb
.
tb_frame
.
f_locals
)
elif
cmd
=
'globals'
:
elif
cmd
=
=
'globals'
:
printsymbols
(
tb
.
tb_frame
.
f_globals
)
elif
cmd
in
(
'?'
,
'help'
):
browserhelp
()
...
...
@@ -65,10 +65,10 @@ def browserlist(tb):
last
=
lineno
first
=
max
(
1
,
last
-
10
)
for
i
in
range
(
first
,
last
+
1
):
if
i
=
lineno
:
prefix
=
'***'
+
string
.
rjust
(
`i`
,
4
)
+
':'
if
i
=
=
lineno
:
prefix
=
'***'
+
string
.
rjust
(
`i`
,
4
)
+
':'
else
:
prefix
=
string
.
rjust
(
`i`
,
7
)
+
':'
line
=
readfileline
(
filename
,
i
)
if
line
[
-
1
:]
=
'
\
n
'
:
line
=
line
[:
-
1
]
if
line
[
-
1
:]
=
=
'
\
n
'
:
line
=
line
[:
-
1
]
print
prefix
+
line
def
browserexec
(
tb
,
cmd
):
...
...
@@ -126,24 +126,24 @@ def printsymbols(d):
print
def
printobject
(
v
,
maxlevel
):
if
v
=
None
:
if
v
=
=
None
:
print
'None'
,
elif
type
(
v
)
in
(
type
(
0
),
type
(
0.0
)):
print
v
,
elif
type
(
v
)
=
type
(
''
):
elif
type
(
v
)
=
=
type
(
''
):
if
len
(
v
)
>
20
:
print
`v[:17] + '...'`
,
else
:
print
`v`
,
elif
type
(
v
)
=
type
(()):
elif
type
(
v
)
=
=
type
(()):
print
'('
,
printlist
(
v
,
maxlevel
)
print
')'
,
elif
type
(
v
)
=
type
([]):
elif
type
(
v
)
=
=
type
([]):
print
'['
,
printlist
(
v
,
maxlevel
)
print
']'
,
elif
type
(
v
)
=
type
({}):
elif
type
(
v
)
=
=
type
({}):
print
'{'
,
printdict
(
v
,
maxlevel
)
print
'}'
,
...
...
@@ -152,7 +152,7 @@ def printobject(v, maxlevel):
def
printlist
(
v
,
maxlevel
):
n
=
len
(
v
)
if
n
=
0
:
return
if
n
=
=
0
:
return
if
maxlevel
<=
0
:
print
'...'
,
return
...
...
@@ -164,7 +164,7 @@ def printlist(v, maxlevel):
def
printdict
(
v
,
maxlevel
):
keys
=
v
.
keys
()
n
=
len
(
keys
)
if
n
=
0
:
return
if
n
=
=
0
:
return
if
maxlevel
<=
0
:
print
'...'
,
return
...
...
@@ -187,8 +187,8 @@ def readfileline(filename, lineno):
cache_ok
=
0
if
_filecache
.
has_key
(
filename
):
cached_stat
,
lines
=
_filecache
[
filename
]
if
stat
[
ST_SIZE
]
=
cached_stat
[
ST_SIZE
]
and
\
stat
[
ST_MTIME
]
=
cached_stat
[
ST_MTIME
]:
if
stat
[
ST_SIZE
]
=
=
cached_stat
[
ST_SIZE
]
and
\
stat
[
ST_MTIME
]
=
=
cached_stat
[
ST_MTIME
]:
cache_ok
=
1
else
:
print
'Stale cache entry for'
,
filename
...
...
Lib/test/testall.py
View file @
9ac216e5
...
...
@@ -40,9 +40,13 @@ if 0xff <> 255: raise TestFailed, 'hex number'
if
0377
<>
255
:
raise
TestFailed
,
'octal number'
x
=
3.14
x
=
0.314
x
=
.
14
x
=
3.
x
=
3e14
x
=
3E14
x
=
3e-14
x
=
3.e14
x
=
.
14e3
x
=
0L
x
=
0
l
x
=
0xffffffffffffffff
L
...
...
@@ -209,11 +213,11 @@ print 'test' # and_test ('or' and_test)*
### comparison: expr (comp_op expr)*
### comp_op: '<'|'>'|'='|'>' '='|'<' '='|'<' '>'|'in'|'not' 'in'|'is'|'is' 'not'
if
1
:
pass
if
1
=
1
:
pass
if
1
<
1
>
1
=
1
>=
1
<=
1
<>
1
in
1
not
in
1
is
1
is
not
1
:
pass
if
not
1
=
1
=
1
:
pass
if
not
1
=
1
and
1
and
1
:
pass
if
1
and
1
or
1
and
1
and
1
or
not
1
=
1
=
1
and
1
:
pass
if
1
=
=
1
:
pass
if
1
<
1
>
1
=
=
1
>=
1
<=
1
<>
1
in
1
not
in
1
is
1
is
not
1
:
pass
if
not
1
=
=
1
=
=
1
:
pass
if
not
1
=
=
1
and
1
and
1
:
pass
if
1
and
1
or
1
and
1
and
1
or
not
1
=
=
1
=
=
1
and
1
:
pass
print
'expr'
# term (('+'|'-') term)*
x
=
1
...
...
@@ -236,17 +240,34 @@ x = 1
c
=
sys
.
path
[
0
]
x
=
time
.
time
()
x
=
sys
.
modules
[
'time'
].
time
()
a
=
'01234'
c
=
a
[
0
]
c
=
a
[
0
:
5
]
c
=
a
[:
5
]
c
=
a
[
0
:]
c
=
a
[:]
c
=
a
[
-
5
:]
c
=
a
[:
-
1
]
c
=
a
[
-
4
:
-
3
]
print
'atom'
# '(' [testlist] ')' | '[' [testlist] ']' | '{' '}' | '`' testlist '`' | NAME | NUMBER | STRING
for
a
in
'01234'
,
(
0
,
1
,
2
,
3
,
4
),
[
0
,
1
,
2
,
3
,
4
]:
c
=
a
[
0
]
c
=
a
[
-
1
]
c
=
a
[
0
:
5
]
c
=
a
[:
5
]
c
=
a
[
0
:]
c
=
a
[:]
c
=
a
[
-
5
:]
c
=
a
[:
-
1
]
c
=
a
[
-
4
:
-
3
]
a
=
[
0
,
1
,
2
,
3
,
4
]
del
a
[
0
]
a
=
[
0
,
1
,
2
,
3
,
4
]
del
a
[
-
1
]
a
=
[
0
,
1
,
2
,
3
,
4
]
del
a
[
1
:
2
]
a
=
[
0
,
1
,
2
,
3
,
4
]
del
a
[:
1
]
a
=
[
0
,
1
,
2
,
3
,
4
]
del
a
[
-
1
:]
a
=
[
0
,
1
,
2
,
3
,
4
]
a
[
0
]
=
0
a
[
-
1
]
=
4
a
[
1
:
2
]
=
[
1
]
a
[
1
:
4
]
=
[
0
]
a
[
1
:
-
1
]
=
[
1
,
2
,
3
]
print
'atom'
# '(' [tetslist] ')' | '[' [testlist] ']' | '{' '}' | '`' testlist '`' | NAME | NUMBER | STRING
x
=
(
1
)
x
=
(
1
or
2
or
3
)
x
=
(
1
or
2
or
3
,
2
,
3
)
...
...
@@ -476,7 +497,7 @@ import string
reload
(
string
)
print
'type'
if
type
(
''
)
<>
type
(
'123'
)
or
type
(
''
)
=
type
(()):
if
type
(
''
)
<>
type
(
'123'
)
or
type
(
''
)
=
=
type
(()):
raise
TestFailed
,
'type()'
...
...
Lib/zmod.py
View file @
9ac216e5
...
...
@@ -53,7 +53,7 @@ def make_all(mat):
return
all
def
make_elements
(
n
,
d
):
if
d
=
0
:
return
[
poly
.
one
(
0
,
0
)]
if
d
=
=
0
:
return
[
poly
.
one
(
0
,
0
)]
sub
=
make_elements
(
n
,
d
-
1
)
all
=
[]
for
a
in
sub
:
...
...
@@ -75,7 +75,7 @@ def checkfield(n, p):
inv1
=
inv
[:]
all1
.
sort
()
inv1
.
sort
()
if
all1
=
inv1
:
print
'BINGO!'
if
all1
=
=
inv1
:
print
'BINGO!'
else
:
print
'Sorry:'
,
n
,
p
print
all
...
...
Mac/Lib/maccache.py
View file @
9ac216e5
...
...
@@ -37,17 +37,17 @@ def _stat(name):
cache
[
name
]
=
NONE
return
NONE
cache
[
name
]
=
list
if
name
[
-
1
:]
=
':'
:
cache
[
name
[:
-
1
]]
=
list
if
name
[
-
1
:]
=
=
':'
:
cache
[
name
[:
-
1
]]
=
list
else
:
cache
[
name
+
':'
]
=
list
return
list
def
isdir
(
name
):
st
=
_stat
(
name
)
return
type
(
st
)
=
LISTTYPE
return
type
(
st
)
=
=
LISTTYPE
def
isfile
(
name
):
st
=
_stat
(
name
)
return
st
=
FILE
return
st
=
=
FILE
def
exists
(
name
):
st
=
_stat
(
name
)
...
...
@@ -55,7 +55,7 @@ def exists(name):
def
listdir
(
name
):
st
=
_stat
(
name
)
if
type
(
st
)
=
LISTTYPE
:
if
type
(
st
)
=
=
LISTTYPE
:
return
st
else
:
raise
RuntimeError
,
'list non-directory'
Tools/scripts/byteyears.py
View file @
9ac216e5
...
...
@@ -17,13 +17,13 @@ except NameError:
statfunc
=
posix
.
stat
# Parse options
if
sys
.
argv
[
1
]
=
'-m'
:
if
sys
.
argv
[
1
]
=
=
'-m'
:
itime
=
ST_MTIME
del
sys
.
argv
[
1
]
elif
sys
.
argv
[
1
]
=
'-c'
:
elif
sys
.
argv
[
1
]
=
=
'-c'
:
itime
=
ST_CTIME
del
sys
.
argv
[
1
]
elif
sys
.
argv
[
1
]
=
'-a'
:
elif
sys
.
argv
[
1
]
=
=
'-a'
:
itime
=
ST_CTIME
del
sys
.
argv
[
1
]
else
:
...
...
Tools/scripts/checkpyc.py
View file @
9ac216e5
...
...
@@ -10,9 +10,9 @@ def main():
silent
=
0
verbose
=
0
if
sys
.
argv
[
1
:]:
if
sys
.
argv
[
1
]
=
'-v'
:
if
sys
.
argv
[
1
]
=
=
'-v'
:
verbose
=
1
elif
sys
.
argv
[
1
]
=
'-s'
:
elif
sys
.
argv
[
1
]
=
=
'-s'
:
silent
=
1
MAGIC
=
'
\
0
\
0
\
0
\
0
'
try
:
...
...
@@ -32,7 +32,7 @@ def main():
print
'Checking'
,
`dirname`
,
'...'
names
.
sort
()
for
name
in
names
:
if
name
[
-
3
:]
=
'.py'
:
if
name
[
-
3
:]
=
=
'.py'
:
name
=
path
.
join
(
dirname
,
name
)
try
:
st
=
posix
.
stat
(
name
)
...
...
@@ -55,7 +55,7 @@ def main():
print
`name_c`
continue
mtime
=
get_long
(
mtime_str
)
if
mtime
=
0
or
mtime
=
-
1
:
if
mtime
=
=
0
or
mtime
=
=
-
1
:
print
'Bad ".pyc" file'
,
`name_c`
elif
mtime
<>
st
[
ST_MTIME
]:
print
'Out-of-date ".pyc" file'
,
...
...
Tools/scripts/findlinksto.py
View file @
9ac216e5
...
...
@@ -17,7 +17,7 @@ def visit(pattern, dirname, names):
name
=
path
.
join
(
dirname
,
name
)
try
:
linkto
=
posix
.
readlink
(
name
)
if
linkto
[:
n
]
=
pattern
:
if
linkto
[:
n
]
=
=
pattern
:
print
name
,
'->'
,
linkto
except
posix
.
error
:
pass
...
...
Tools/scripts/objgraph.py
View file @
9ac216e5
...
...
@@ -170,18 +170,18 @@ def main():
return
1
optu
=
optc
=
optd
=
0
for
opt
,
void
in
optlist
:
if
opt
=
'-u'
:
if
opt
=
=
'-u'
:
optu
=
1
elif
opt
=
'-c'
:
elif
opt
=
=
'-c'
:
optc
=
1
elif
opt
=
'-d'
:
elif
opt
=
=
'-d'
:
optd
=
1
if
optu
=
optc
=
optd
=
0
:
if
optu
=
=
optc
==
optd
=
=
0
:
optu
=
optc
=
optd
=
1
if
not
args
:
args
=
[
'-'
]
for
file
in
args
:
if
file
=
'-'
:
if
file
=
=
'-'
:
readinput
(
sys
.
stdin
)
else
:
readinput
(
open
(
file
,
'r'
))
...
...
Tools/scripts/pdeps.py
View file @
9ac216e5
...
...
@@ -67,13 +67,13 @@ m_from = regexp.compile('^[ \t]*import[ \t]+([^#]+)')
def
process
(
filename
,
table
):
fp
=
open
(
filename
,
'r'
)
mod
=
path
.
basename
(
filename
)
if
mod
[
-
3
:]
=
'.py'
:
if
mod
[
-
3
:]
=
=
'.py'
:
mod
=
mod
[:
-
3
]
table
[
mod
]
=
list
=
[]
while
1
:
line
=
fp
.
readline
()
if
not
line
:
break
while
line
[
-
1
:]
=
'
\
\
'
:
while
line
[
-
1
:]
=
=
'
\
\
'
:
nextline
=
fp
.
readline
()
if
not
nextline
:
break
line
=
line
[:
-
1
]
+
nextline
...
...
Tools/scripts/ptags.py
View file @
9ac216e5
...
...
@@ -33,7 +33,7 @@ def treat_file(file):
print '
Cannot
open
', file
return
base = path.basename(file)
if base[-3:] = '
.
py
': base = base[:-3]
if base[-3:] =
=
'
.
py
': base = base[:-3]
s = base + '
\
t
' + file + '
\
t
' + '
1
\
n
'
tags.append(s)
while 1:
...
...
Tools/scripts/suff.py
View file @
9ac216e5
...
...
@@ -22,7 +22,7 @@ def main():
def
getsuffix
(
file
):
suff
=
''
for
i
in
range
(
len
(
file
)):
if
file
[
i
]
=
'.'
:
if
file
[
i
]
=
=
'.'
:
suff
=
file
[
i
:]
return
suff
...
...
Tools/scripts/which.py
View file @
9ac216e5
...
...
@@ -23,7 +23,7 @@ for prog in sys.argv[1:]:
mode
=
S_IMODE
(
st
[
ST_MODE
])
if
mode
%
2
or
mode
/
8
%
2
or
mode
/
64
%
2
:
if
ident
:
if
st
[:
3
]
=
ident
:
if
st
[:
3
]
=
=
ident
:
s
=
': same as '
else
:
s
=
': also '
...
...
Tools/scripts/xxci.py
View file @
9ac216e5
...
...
@@ -50,19 +50,19 @@ def skipfile(file):
# Skip executables
try
:
data
=
open
(
file
,
'r'
).
read
(
len
(
EXECMAGIC
))
if
data
=
EXECMAGIC
:
return
1
if
data
=
=
EXECMAGIC
:
return
1
except
:
pass
return
0
def
badprefix
(
file
):
for
bad
in
badprefixes
:
if
file
[:
len
(
bad
)]
=
bad
:
return
1
if
file
[:
len
(
bad
)]
=
=
bad
:
return
1
return
0
def
badsuffix
(
file
):
for
bad
in
badsuffixes
:
if
file
[
-
len
(
bad
):]
=
bad
:
return
1
if
file
[
-
len
(
bad
):]
=
=
bad
:
return
1
return
0
def
go
(
args
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment