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
8b688626
Kaydet (Commit)
8b688626
authored
Mar 12, 2002
tarafından
Fred Drake
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Set/update self.cwd properly.
üst
8f01b680
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
14 deletions
+51
-14
log.py
Lib/hotshot/log.py
+51
-14
No files found.
Lib/hotshot/log.py
Dosyayı görüntüle @
8b688626
...
@@ -37,7 +37,13 @@ class LogReader:
...
@@ -37,7 +37,13 @@ class LogReader:
self
.
_reader
=
_hotshot
.
logreader
(
logfn
)
self
.
_reader
=
_hotshot
.
logreader
(
logfn
)
self
.
_nextitem
=
self
.
_reader
.
next
self
.
_nextitem
=
self
.
_reader
.
next
self
.
_info
=
self
.
_reader
.
info
self
.
_info
=
self
.
_reader
.
info
if
self
.
_info
.
has_key
(
'current-directory'
):
self
.
cwd
=
self
.
_info
[
'current-directory'
]
else
:
self
.
cwd
=
None
self
.
_stack
=
[]
self
.
_stack
=
[]
self
.
_append
=
self
.
_stack
.
append
self
.
_pop
=
self
.
_stack
.
pop
def
addinfo
(
self
,
key
,
value
):
def
addinfo
(
self
,
key
,
value
):
"""This method is called for each additional ADD_INFO record.
"""This method is called for each additional ADD_INFO record.
...
@@ -53,6 +59,28 @@ class LogReader:
...
@@ -53,6 +59,28 @@ class LogReader:
"""
"""
pass
pass
def
get_filename
(
self
,
fileno
):
try
:
return
self
.
_filemap
[
fileno
]
except
KeyError
:
raise
ValueError
,
"unknown fileno"
def
get_filenames
(
self
):
return
self
.
_filemap
.
values
()
def
get_fileno
(
self
,
filename
):
filename
=
os
.
path
.
normcase
(
os
.
path
.
normpath
(
filename
))
for
fileno
,
name
in
self
.
_filemap
.
items
():
if
name
==
filename
:
return
fileno
raise
ValueError
,
"unknown filename"
def
get_funcname
(
self
,
fileno
,
lineno
):
try
:
return
self
.
_funcmap
[(
fileno
,
lineno
)]
except
KeyError
:
raise
ValueError
,
"unknown function location"
# Iteration support:
# Iteration support:
# This adds an optional (& ignored) parameter to next() so that the
# This adds an optional (& ignored) parameter to next() so that the
# same bound method can be used as the __getitem__() method -- this
# same bound method can be used as the __getitem__() method -- this
...
@@ -66,28 +94,37 @@ class LogReader:
...
@@ -66,28 +94,37 @@ class LogReader:
# logreader().next() returns None at the end
# logreader().next() returns None at the end
self
.
_reader
.
close
()
self
.
_reader
.
close
()
raise
StopIteration
()
raise
StopIteration
()
# handle the most common cases first
if
what
==
WHAT_ENTER
:
filename
,
funcname
=
self
.
_decode_location
(
fileno
,
lineno
)
self
.
_append
((
filename
,
funcname
,
lineno
))
return
what
,
(
filename
,
lineno
,
funcname
),
tdelta
if
what
==
WHAT_EXIT
:
filename
,
funcname
,
lineno
=
self
.
_pop
()
return
what
,
(
filename
,
lineno
,
funcname
),
tdelta
if
what
==
WHAT_LINENO
:
filename
,
funcname
,
firstlineno
=
self
.
_stack
[
-
1
]
return
what
,
(
filename
,
lineno
,
funcname
),
tdelta
if
what
==
WHAT_DEFINE_FILE
:
if
what
==
WHAT_DEFINE_FILE
:
self
.
_filemap
[
fileno
]
=
tdelta
filename
=
os
.
path
.
normcase
(
os
.
path
.
normpath
(
tdelta
))
continu
e
self
.
_filemap
[
fileno
]
=
filenam
e
if
what
==
WHAT_DEFINE_FUNC
:
el
if
what
==
WHAT_DEFINE_FUNC
:
filename
=
self
.
_filemap
[
fileno
]
filename
=
self
.
_filemap
[
fileno
]
self
.
_funcmap
[(
fileno
,
lineno
)]
=
(
filename
,
tdelta
)
self
.
_funcmap
[(
fileno
,
lineno
)]
=
(
filename
,
tdelta
)
continue
elif
what
==
WHAT_ADD_INFO
:
if
what
==
WHAT_ADD_INFO
:
# value already loaded into self.info; call the
# value already loaded into self.info; call the
# overridable addinfo() handler so higher-level code
# overridable addinfo() handler so higher-level code
# can pick up the new value
# can pick up the new value
if
tdelta
==
'current-directory'
:
self
.
cwd
=
lineno
self
.
addinfo
(
tdelta
,
lineno
)
self
.
addinfo
(
tdelta
,
lineno
)
continue
if
what
==
WHAT_ENTER
:
t
=
self
.
_decode_location
(
fileno
,
lineno
)
filename
,
funcname
=
t
self
.
_stack
.
append
((
filename
,
funcname
,
lineno
))
elif
what
==
WHAT_EXIT
:
filename
,
funcname
,
lineno
=
self
.
_stack
.
pop
()
else
:
else
:
filename
,
funcname
,
firstlineno
=
self
.
_stack
[
-
1
]
raise
ValueError
,
"unknown event type"
return
what
,
(
filename
,
lineno
,
funcname
),
tdelta
if
sys
.
version
<
"2.2"
:
if
sys
.
version
<
"2.2"
:
# Don't add this for newer Python versions; we only want iteration
# Don't add this for newer Python versions; we only want iteration
...
...
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