Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
bdc61b1c
Kaydet (Commit)
bdc61b1c
authored
Nis 04, 1998
tarafından
Fred Drake
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Relocating file to Lib/lib-old.
üst
a351f89a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
274 deletions
+0
-274
codehack.py
Lib/codehack.py
+0
-81
lockfile.py
Lib/lockfile.py
+0
-15
tb.py
Lib/tb.py
+0
-178
No files found.
Lib/codehack.py
deleted
100644 → 0
Dosyayı görüntüle @
a351f89a
# A subroutine for extracting a function name from a code object
# (with cache)
import
sys
from
stat
import
*
import
string
import
os
import
linecache
# XXX The functions getcodename() and getfuncname() are now obsolete
# XXX as code and function objects now have a name attribute --
# XXX co.co_name and f.func_name.
# XXX getlineno() is now also obsolete because of the new attribute
# XXX of code objects, co.co_firstlineno.
# Extract the function or class name from a code object.
# This is a bit of a hack, since a code object doesn't contain
# the name directly. So what do we do:
# - get the filename (which *is* in the code object)
# - look in the code string to find the first SET_LINENO instruction
# (this must be the first instruction)
# - get the line from the file
# - if the line starts with 'class' or 'def' (after possible whitespace),
# extract the following identifier
#
# This breaks apart when the function was read from <stdin>
# or constructed by exec(), when the file is not accessible,
# and also when the file has been modified or when a line is
# continued with a backslash before the function or class name.
#
# Because this is a pretty expensive hack, a cache is kept.
SET_LINENO
=
127
# The opcode (see "opcode.h" in the Python source)
identchars
=
string
.
letters
+
string
.
digits
+
'_'
# Identifier characters
_namecache
=
{}
# The cache
def
getcodename
(
co
):
try
:
return
co
.
co_name
except
AttributeError
:
pass
key
=
`co`
# arbitrary but uniquely identifying string
if
_namecache
.
has_key
(
key
):
return
_namecache
[
key
]
filename
=
co
.
co_filename
code
=
co
.
co_code
name
=
''
if
ord
(
code
[
0
])
==
SET_LINENO
:
lineno
=
ord
(
code
[
1
])
|
ord
(
code
[
2
])
<<
8
line
=
linecache
.
getline
(
filename
,
lineno
)
words
=
string
.
split
(
line
)
if
len
(
words
)
>=
2
and
words
[
0
]
in
(
'def'
,
'class'
):
name
=
words
[
1
]
for
i
in
range
(
len
(
name
)):
if
name
[
i
]
not
in
identchars
:
name
=
name
[:
i
]
break
_namecache
[
key
]
=
name
return
name
# Use the above routine to find a function's name.
def
getfuncname
(
func
):
try
:
return
func
.
func_name
except
AttributeError
:
pass
return
getcodename
(
func
.
func_code
)
# A part of the above code to extract just the line number from a code object.
def
getlineno
(
co
):
try
:
return
co
.
co_firstlineno
except
AttributeError
:
pass
code
=
co
.
co_code
if
ord
(
code
[
0
])
==
SET_LINENO
:
return
ord
(
code
[
1
])
|
ord
(
code
[
2
])
<<
8
else
:
return
-
1
Lib/lockfile.py
deleted
100644 → 0
Dosyayı görüntüle @
a351f89a
import
struct
,
fcntl
,
FCNTL
def
writelock
(
f
):
_lock
(
f
,
FCNTL
.
F_WRLCK
)
def
readlock
(
f
):
_lock
(
f
,
FCNTL
.
F_RDLCK
)
def
unlock
(
f
):
_lock
(
f
,
FCNTL
.
F_UNLCK
)
def
_lock
(
f
,
op
):
dummy
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
struct
.
pack
(
'2h8l'
,
op
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
))
Lib/tb.py
deleted
100644 → 0
Dosyayı görüntüle @
a351f89a
# Print tracebacks, with a dump of local variables.
# Also an interactive stack trace browser.
# Note -- this module is obsolete -- use pdb.pm() instead.
import
sys
import
os
from
stat
import
*
import
string
import
linecache
def
br
():
browser
(
sys
.
last_traceback
)
def
tb
():
printtb
(
sys
.
last_traceback
)
def
browser
(
tb
):
if
not
tb
:
print
'No traceback.'
return
tblist
=
[]
while
tb
:
tblist
.
append
(
tb
)
tb
=
tb
.
tb_next
ptr
=
len
(
tblist
)
-
1
tb
=
tblist
[
ptr
]
while
1
:
if
tb
<>
tblist
[
ptr
]:
tb
=
tblist
[
ptr
]
print
`ptr`
+
':'
,
printtbheader
(
tb
)
try
:
line
=
raw_input
(
'TB: '
)
except
KeyboardInterrupt
:
print
'
\n
[Interrupted]'
break
except
EOFError
:
print
'
\n
[EOF]'
break
cmd
=
string
.
strip
(
line
)
if
cmd
:
if
cmd
==
'quit'
:
break
elif
cmd
==
'list'
:
browserlist
(
tb
)
elif
cmd
==
'up'
:
if
ptr
-
1
>=
0
:
ptr
=
ptr
-
1
else
:
print
'Bottom of stack.'
elif
cmd
==
'down'
:
if
ptr
+
1
<
len
(
tblist
):
ptr
=
ptr
+
1
else
:
print
'Top of stack.'
elif
cmd
==
'locals'
:
printsymbols
(
tb
.
tb_frame
.
f_locals
)
elif
cmd
==
'globals'
:
printsymbols
(
tb
.
tb_frame
.
f_globals
)
elif
cmd
in
(
'?'
,
'help'
):
browserhelp
()
else
:
browserexec
(
tb
,
cmd
)
def
browserlist
(
tb
):
filename
=
tb
.
tb_frame
.
f_code
.
co_filename
lineno
=
tb
.
tb_lineno
last
=
lineno
first
=
max
(
1
,
last
-
10
)
for
i
in
range
(
first
,
last
+
1
):
if
i
==
lineno
:
prefix
=
'***'
+
string
.
rjust
(
`i`
,
4
)
+
':'
else
:
prefix
=
string
.
rjust
(
`i`
,
7
)
+
':'
line
=
linecache
.
getline
(
filename
,
i
)
if
line
[
-
1
:]
==
'
\n
'
:
line
=
line
[:
-
1
]
print
prefix
+
line
def
browserexec
(
tb
,
cmd
):
locals
=
tb
.
tb_frame
.
f_locals
globals
=
tb
.
tb_frame
.
f_globals
try
:
exec
cmd
+
'
\n
'
in
globals
,
locals
except
:
t
,
v
=
sys
.
exc_info
()[:
2
]
print
'*** Exception:'
,
if
type
(
t
)
==
type
(
''
):
print
t
,
else
:
print
t
.
__name__
,
if
v
<>
None
:
print
':'
,
v
,
print
print
'Type help to get help.'
def
browserhelp
():
print
print
' This is the traceback browser. Commands are:'
print
' up : move one level up in the call stack'
print
' down : move one level down in the call stack'
print
' locals : print all local variables at this level'
print
' globals : print all global variables at this level'
print
' list : list source code around the failure'
print
' help : print help (what you are reading now)'
print
' quit : back to command interpreter'
print
' Typing any other 1-line statement will execute it'
print
' using the current level
\'
s symbol tables'
print
def
printtb
(
tb
):
while
tb
:
print1tb
(
tb
)
tb
=
tb
.
tb_next
def
print1tb
(
tb
):
printtbheader
(
tb
)
if
tb
.
tb_frame
.
f_locals
is
not
tb
.
tb_frame
.
f_globals
:
printsymbols
(
tb
.
tb_frame
.
f_locals
)
def
printtbheader
(
tb
):
filename
=
tb
.
tb_frame
.
f_code
.
co_filename
lineno
=
tb
.
tb_lineno
info
=
'"'
+
filename
+
'"('
+
`lineno`
+
')'
line
=
linecache
.
getline
(
filename
,
lineno
)
if
line
:
info
=
info
+
': '
+
string
.
strip
(
line
)
print
info
def
printsymbols
(
d
):
keys
=
d
.
keys
()
keys
.
sort
()
for
name
in
keys
:
print
' '
+
string
.
ljust
(
name
,
12
)
+
':'
,
printobject
(
d
[
name
],
4
)
print
def
printobject
(
v
,
maxlevel
):
if
v
==
None
:
print
'None'
,
elif
type
(
v
)
in
(
type
(
0
),
type
(
0.0
)):
print
v
,
elif
type
(
v
)
==
type
(
''
):
if
len
(
v
)
>
20
:
print
`v[:17] + '...'`
,
else
:
print
`v`
,
elif
type
(
v
)
==
type
(()):
print
'('
,
printlist
(
v
,
maxlevel
)
print
')'
,
elif
type
(
v
)
==
type
([]):
print
'['
,
printlist
(
v
,
maxlevel
)
print
']'
,
elif
type
(
v
)
==
type
({}):
print
'{'
,
printdict
(
v
,
maxlevel
)
print
'}'
,
else
:
print
v
,
def
printlist
(
v
,
maxlevel
):
n
=
len
(
v
)
if
n
==
0
:
return
if
maxlevel
<=
0
:
print
'...'
,
return
for
i
in
range
(
min
(
6
,
n
)):
printobject
(
v
[
i
],
maxlevel
-
1
)
if
i
+
1
<
n
:
print
','
,
if
n
>
6
:
print
'...'
,
def
printdict
(
v
,
maxlevel
):
keys
=
v
.
keys
()
n
=
len
(
keys
)
if
n
==
0
:
return
if
maxlevel
<=
0
:
print
'...'
,
return
keys
.
sort
()
for
i
in
range
(
min
(
6
,
n
)):
key
=
keys
[
i
]
print
`key`
+
':'
,
printobject
(
v
[
key
],
maxlevel
-
1
)
if
i
+
1
<
n
:
print
','
,
if
n
>
6
:
print
'...'
,
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