SILENT KILLERPanel

Current Path: > > lib64 > python2.7 > Tools > > scripts


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //lib64/python2.7/Tools//scripts

NameTypeSizeLast ModifiedActions
analyze_dxp.py File 4205 bytes April 10 2024 04:58:41.
analyze_dxp.pyc File 4748 bytes April 10 2024 04:58:46.
analyze_dxp.pyo File 4748 bytes April 10 2024 04:58:46.
byext.py File 3944 bytes April 10 2024 04:58:41.
byext.pyc File 4521 bytes April 10 2024 04:58:46.
byext.pyo File 4521 bytes April 10 2024 04:58:46.
byteyears.py File 1637 bytes April 10 2024 04:58:41.
byteyears.pyc File 1398 bytes April 10 2024 04:58:46.
byteyears.pyo File 1398 bytes April 10 2024 04:58:46.
checkappend.py File 4657 bytes April 10 2024 04:58:41.
checkappend.pyc File 4886 bytes April 10 2024 04:58:46.
checkappend.pyo File 4886 bytes April 10 2024 04:58:46.
checkpip.py File 757 bytes April 10 2024 04:58:41.
checkpip.pyc File 1044 bytes April 10 2024 04:58:46.
checkpip.pyo File 1044 bytes April 10 2024 04:58:46.
checkpyc.py File 2010 bytes April 10 2024 04:58:41.
checkpyc.pyc File 1976 bytes April 10 2024 04:58:46.
checkpyc.pyo File 1976 bytes April 10 2024 04:58:46.
classfix.py File 5952 bytes April 10 2024 04:58:41.
classfix.pyc File 4189 bytes April 10 2024 04:58:46.
classfix.pyo File 4189 bytes April 10 2024 04:58:46.
cleanfuture.py File 8577 bytes April 10 2024 04:58:41.
cleanfuture.pyc File 7394 bytes April 10 2024 04:58:46.
cleanfuture.pyo File 7361 bytes April 10 2024 04:58:44.
combinerefs.py File 4380 bytes April 10 2024 04:58:41.
combinerefs.pyc File 4256 bytes April 10 2024 04:58:46.
combinerefs.pyo File 4223 bytes April 10 2024 04:58:44.
copytime.py File 663 bytes April 10 2024 04:58:41.
copytime.pyc File 937 bytes April 10 2024 04:58:46.
copytime.pyo File 937 bytes April 10 2024 04:58:46.
crlf.py File 610 bytes April 10 2024 04:58:41.
crlf.pyc File 855 bytes April 10 2024 04:58:46.
crlf.pyo File 855 bytes April 10 2024 04:58:46.
cvsfiles.py File 1786 bytes April 10 2024 04:58:41.
cvsfiles.pyc File 2163 bytes April 10 2024 04:58:46.
cvsfiles.pyo File 2163 bytes April 10 2024 04:58:46.
db2pickle.py File 3570 bytes April 10 2024 04:58:41.
db2pickle.pyc File 3497 bytes April 10 2024 04:58:46.
db2pickle.pyo File 3497 bytes April 10 2024 04:58:46.
diff.py File 2066 bytes April 10 2024 04:58:41.
diff.pyc File 2386 bytes April 10 2024 04:58:46.
diff.pyo File 2386 bytes April 10 2024 04:58:46.
dutree.py File 1615 bytes April 10 2024 04:58:41.
dutree.pyc File 2230 bytes April 10 2024 04:58:46.
dutree.pyo File 2230 bytes April 10 2024 04:58:46.
eptags.py File 1483 bytes April 10 2024 04:58:41.
eptags.pyc File 1876 bytes April 10 2024 04:58:46.
eptags.pyo File 1876 bytes April 10 2024 04:58:46.
find_recursionlimit.py File 3473 bytes April 10 2024 04:58:41.
find_recursionlimit.pyc File 5673 bytes April 10 2024 04:58:46.
find_recursionlimit.pyo File 5673 bytes April 10 2024 04:58:46.
finddiv.py File 2517 bytes April 10 2024 04:58:41.
finddiv.pyc File 3296 bytes April 10 2024 04:58:46.
finddiv.pyo File 3296 bytes April 10 2024 04:58:46.
findlinksto.py File 1069 bytes April 10 2024 04:58:41.
findlinksto.pyc File 1425 bytes April 10 2024 04:58:46.
findlinksto.pyo File 1425 bytes April 10 2024 04:58:46.
findnocoding.py File 2808 bytes April 10 2024 04:58:41.
findnocoding.pyc File 3201 bytes April 10 2024 04:58:46.
findnocoding.pyo File 3201 bytes April 10 2024 04:58:46.
fixcid.py File 9995 bytes April 10 2024 04:58:41.
fixcid.pyc File 7851 bytes April 10 2024 04:58:46.
fixcid.pyo File 7851 bytes April 10 2024 04:58:46.
fixdiv.py File 13841 bytes April 10 2024 04:58:41.
fixdiv.pyc File 13849 bytes April 10 2024 04:58:46.
fixdiv.pyo File 13766 bytes April 10 2024 04:58:44.
fixheader.py File 1189 bytes April 10 2024 04:58:41.
fixheader.pyc File 1471 bytes April 10 2024 04:58:46.
fixheader.pyo File 1471 bytes April 10 2024 04:58:46.
fixnotice.py File 3051 bytes April 10 2024 04:58:41.
fixnotice.pyc File 3500 bytes April 10 2024 04:58:46.
fixnotice.pyo File 3500 bytes April 10 2024 04:58:46.
fixps.py File 893 bytes April 10 2024 04:58:41.
fixps.pyc File 969 bytes April 10 2024 04:58:46.
fixps.pyo File 969 bytes April 10 2024 04:58:46.
google.py File 519 bytes April 10 2024 04:58:41.
google.pyc File 792 bytes April 10 2024 04:58:46.
google.pyo File 792 bytes April 10 2024 04:58:46.
gprof2html.py File 2167 bytes April 10 2024 04:58:41.
gprof2html.pyc File 2277 bytes April 10 2024 04:58:46.
gprof2html.pyo File 2277 bytes April 10 2024 04:58:46.
h2py.py File 5953 bytes April 10 2024 04:58:41.
h2py.pyc File 4392 bytes April 10 2024 04:58:46.
h2py.pyo File 4392 bytes April 10 2024 04:58:46.
hotshotmain.py File 1483 bytes April 10 2024 04:58:41.
hotshotmain.pyc File 1863 bytes April 10 2024 04:58:46.
hotshotmain.pyo File 1863 bytes April 10 2024 04:58:46.
ifdef.py File 3718 bytes April 10 2024 04:58:41.
ifdef.pyc File 2265 bytes April 10 2024 04:58:46.
ifdef.pyo File 2265 bytes April 10 2024 04:58:46.
lfcr.py File 618 bytes April 10 2024 04:58:41.
lfcr.pyc File 880 bytes April 10 2024 04:58:46.
lfcr.pyo File 880 bytes April 10 2024 04:58:46.
linktree.py File 2424 bytes April 10 2024 04:58:41.
linktree.pyc File 2025 bytes April 10 2024 04:58:46.
linktree.pyo File 2025 bytes April 10 2024 04:58:46.
lll.py File 742 bytes April 10 2024 04:58:41.
lll.pyc File 942 bytes April 10 2024 04:58:46.
lll.pyo File 942 bytes April 10 2024 04:58:46.
logmerge.py File 5575 bytes April 10 2024 04:58:41.
logmerge.pyc File 5083 bytes April 10 2024 04:58:46.
logmerge.pyo File 5083 bytes April 10 2024 04:58:46.
mailerdaemon.py File 7942 bytes April 10 2024 04:58:41.
mailerdaemon.pyc File 7364 bytes April 10 2024 04:58:46.
mailerdaemon.pyo File 7364 bytes April 10 2024 04:58:46.
md5sum.py File 2385 bytes April 10 2024 04:58:41.
md5sum.pyc File 2917 bytes April 10 2024 04:58:46.
md5sum.pyo File 2917 bytes April 10 2024 04:58:46.
methfix.py File 5462 bytes April 10 2024 04:58:41.
methfix.pyc File 4125 bytes April 10 2024 04:58:46.
methfix.pyo File 4125 bytes April 10 2024 04:58:46.
mkreal.py File 1627 bytes April 10 2024 04:58:41.
mkreal.pyc File 1980 bytes April 10 2024 04:58:46.
mkreal.pyo File 1980 bytes April 10 2024 04:58:46.
ndiff.py File 3808 bytes April 10 2024 04:58:41.
ndiff.pyc File 3859 bytes April 10 2024 04:58:46.
ndiff.pyo File 3859 bytes April 10 2024 04:58:46.
nm2def.py File 2443 bytes April 10 2024 04:58:41.
nm2def.pyc File 2960 bytes April 10 2024 04:58:46.
nm2def.pyo File 2960 bytes April 10 2024 04:58:46.
objgraph.py File 6017 bytes April 10 2024 04:58:41.
objgraph.pyc File 4933 bytes April 10 2024 04:58:46.
objgraph.pyo File 4933 bytes April 10 2024 04:58:46.
parseentities.py File 1719 bytes April 10 2024 04:58:41.
parseentities.pyc File 2077 bytes April 10 2024 04:58:46.
parseentities.pyo File 2077 bytes April 10 2024 04:58:46.
patchcheck.py File 7679 bytes April 10 2024 04:58:41.
patchcheck.pyc File 9128 bytes April 10 2024 04:58:46.
patchcheck.pyo File 9128 bytes April 10 2024 04:58:46.
pathfix.py File 4329 bytes April 10 2024 04:58:41.
pathfix.pyc File 3838 bytes April 10 2024 04:58:46.
pathfix.pyo File 3838 bytes April 10 2024 04:58:46.
pdeps.py File 3936 bytes April 10 2024 04:58:41.
pdeps.pyc File 3220 bytes April 10 2024 04:58:46.
pdeps.pyo File 3220 bytes April 10 2024 04:58:46.
pickle2db.py File 3942 bytes April 10 2024 04:58:41.
pickle2db.pyc File 3819 bytes April 10 2024 04:58:46.
pickle2db.pyo File 3819 bytes April 10 2024 04:58:46.
pindent.py File 17170 bytes April 10 2024 04:58:41.
pindent.pyc File 11559 bytes April 10 2024 04:58:46.
pindent.pyo File 11559 bytes April 10 2024 04:58:46.
ptags.py File 1224 bytes April 10 2024 04:58:41.
ptags.pyc File 1407 bytes April 10 2024 04:58:46.
ptags.pyo File 1407 bytes April 10 2024 04:58:46.
pysource.py File 3846 bytes April 10 2024 04:58:41.
pysource.pyc File 4009 bytes April 10 2024 04:58:46.
pysource.pyo File 4009 bytes April 10 2024 04:58:46.
redemo.py File 5792 bytes April 10 2024 04:58:41.
redemo.pyc File 5249 bytes April 10 2024 04:58:46.
redemo.pyo File 5249 bytes April 10 2024 04:58:46.
reindent-rst.py File 278 bytes April 10 2024 04:58:41.
reindent-rst.pyc File 481 bytes April 10 2024 04:58:46.
reindent-rst.pyo File 481 bytes April 10 2024 04:58:46.
reindent.py File 11417 bytes April 10 2024 04:58:41.
reindent.pyc File 9629 bytes April 10 2024 04:58:46.
reindent.pyo File 9590 bytes April 10 2024 04:58:44.
rgrep.py File 1492 bytes April 10 2024 04:58:41.
rgrep.pyc File 1881 bytes April 10 2024 04:58:46.
rgrep.pyo File 1881 bytes April 10 2024 04:58:46.
serve.py File 1147 bytes April 10 2024 04:58:41.
serve.pyc File 1597 bytes April 10 2024 04:58:46.
serve.pyo File 1597 bytes April 10 2024 04:58:46.
setup.py File 421 bytes April 10 2024 04:58:41.
setup.pyc File 548 bytes April 10 2024 04:58:46.
setup.pyo File 548 bytes April 10 2024 04:58:46.
suff.py File 621 bytes April 10 2024 04:58:41.
suff.pyc File 904 bytes April 10 2024 04:58:46.
suff.pyo File 904 bytes April 10 2024 04:58:46.
svneol.py File 2930 bytes April 10 2024 04:58:41.
svneol.pyc File 2904 bytes April 10 2024 04:58:46.
svneol.pyo File 2825 bytes April 10 2024 04:58:44.
texcheck.py File 9256 bytes April 10 2024 04:58:41.
texcheck.pyc File 8376 bytes April 10 2024 04:58:46.
texcheck.pyo File 8376 bytes April 10 2024 04:58:46.
texi2html.py File 69825 bytes April 10 2024 04:58:41.
texi2html.pyc File 83323 bytes April 10 2024 04:58:46.
texi2html.pyo File 83323 bytes April 10 2024 04:58:46.
treesync.py File 5783 bytes April 10 2024 04:58:41.
treesync.pyc File 5990 bytes April 10 2024 04:58:46.
treesync.pyo File 5990 bytes April 10 2024 04:58:46.
untabify.py File 1215 bytes April 10 2024 04:58:41.
untabify.pyc File 1583 bytes April 10 2024 04:58:46.
untabify.pyo File 1583 bytes April 10 2024 04:58:46.
which.py File 1630 bytes April 10 2024 04:58:41.
which.pyc File 1632 bytes April 10 2024 04:58:46.
which.pyo File 1632 bytes April 10 2024 04:58:46.
win_add2path.py File 1620 bytes April 10 2024 04:58:41.
win_add2path.pyc File 2069 bytes April 10 2024 04:58:46.
win_add2path.pyo File 2069 bytes April 10 2024 04:58:46.
xxci.py File 2797 bytes April 10 2024 04:58:41.
xxci.pyc File 4017 bytes April 10 2024 04:58:46.
xxci.pyo File 4017 bytes April 10 2024 04:58:46.

Reading File: //lib64/python2.7/Tools//scripts/objgraph.py

#! /usr/bin/python2.7

# objgraph
#
# Read "nm -o" input (on IRIX: "nm -Bo") of a set of libraries or modules
# and print various interesting listings, such as:
#
# - which names are used but not defined in the set (and used where),
# - which names are defined in the set (and where),
# - which modules use which other modules,
# - which modules are used by which other modules.
#
# Usage: objgraph [-cdu] [file] ...
# -c: print callers per objectfile
# -d: print callees per objectfile
# -u: print usage of undefined symbols
# If none of -cdu is specified, all are assumed.
# Use "nm -o" to generate the input (on IRIX: "nm -Bo"),
# e.g.: nm -o /lib/libc.a | objgraph


import sys
import os
import getopt
import re

# Types of symbols.
#
definitions = 'TRGDSBAEC'
externals = 'UV'
ignore = 'Nntrgdsbavuc'

# Regular expression to parse "nm -o" output.
#
matcher = re.compile('(.*):\t?........ (.) (.*)$')

# Store "item" in "dict" under "key".
# The dictionary maps keys to lists of items.
# If there is no list for the key yet, it is created.
#
def store(dict, key, item):
    if dict.has_key(key):
        dict[key].append(item)
    else:
        dict[key] = [item]

# Return a flattened version of a list of strings: the concatenation
# of its elements with intervening spaces.
#
def flat(list):
    s = ''
    for item in list:
        s = s + ' ' + item
    return s[1:]

# Global variables mapping defined/undefined names to files and back.
#
file2undef = {}
def2file = {}
file2def = {}
undef2file = {}

# Read one input file and merge the data into the tables.
# Argument is an open file.
#
def readinput(fp):
    while 1:
        s = fp.readline()
        if not s:
            break
        # If you get any output from this line,
        # it is probably caused by an unexpected input line:
        if matcher.search(s) < 0: s; continue # Shouldn't happen
        (ra, rb), (r1a, r1b), (r2a, r2b), (r3a, r3b) = matcher.regs[:4]
        fn, name, type = s[r1a:r1b], s[r3a:r3b], s[r2a:r2b]
        if type in definitions:
            store(def2file, name, fn)
            store(file2def, fn, name)
        elif type in externals:
            store(file2undef, fn, name)
            store(undef2file, name, fn)
        elif not type in ignore:
            print fn + ':' + name + ': unknown type ' + type

# Print all names that were undefined in some module and where they are
# defined.
#
def printcallee():
    flist = file2undef.keys()
    flist.sort()
    for filename in flist:
        print filename + ':'
        elist = file2undef[filename]
        elist.sort()
        for ext in elist:
            if len(ext) >= 8:
                tabs = '\t'
            else:
                tabs = '\t\t'
            if not def2file.has_key(ext):
                print '\t' + ext + tabs + ' *undefined'
            else:
                print '\t' + ext + tabs + flat(def2file[ext])

# Print for each module the names of the other modules that use it.
#
def printcaller():
    files = file2def.keys()
    files.sort()
    for filename in files:
        callers = []
        for label in file2def[filename]:
            if undef2file.has_key(label):
                callers = callers + undef2file[label]
        if callers:
            callers.sort()
            print filename + ':'
            lastfn = ''
            for fn in callers:
                if fn <> lastfn:
                    print '\t' + fn
                lastfn = fn
        else:
            print filename + ': unused'

# Print undefined names and where they are used.
#
def printundef():
    undefs = {}
    for filename in file2undef.keys():
        for ext in file2undef[filename]:
            if not def2file.has_key(ext):
                store(undefs, ext, filename)
    elist = undefs.keys()
    elist.sort()
    for ext in elist:
        print ext + ':'
        flist = undefs[ext]
        flist.sort()
        for filename in flist:
            print '\t' + filename

# Print warning messages about names defined in more than one file.
#
def warndups():
    savestdout = sys.stdout
    sys.stdout = sys.stderr
    names = def2file.keys()
    names.sort()
    for name in names:
        if len(def2file[name]) > 1:
            print 'warning:', name, 'multiply defined:',
            print flat(def2file[name])
    sys.stdout = savestdout

# Main program
#
def main():
    try:
        optlist, args = getopt.getopt(sys.argv[1:], 'cdu')
    except getopt.error:
        sys.stdout = sys.stderr
        print 'Usage:', os.path.basename(sys.argv[0]),
        print           '[-cdu] [file] ...'
        print '-c: print callers per objectfile'
        print '-d: print callees per objectfile'
        print '-u: print usage of undefined symbols'
        print 'If none of -cdu is specified, all are assumed.'
        print 'Use "nm -o" to generate the input (on IRIX: "nm -Bo"),'
        print 'e.g.: nm -o /lib/libc.a | objgraph'
        return 1
    optu = optc = optd = 0
    for opt, void in optlist:
        if opt == '-u':
            optu = 1
        elif opt == '-c':
            optc = 1
        elif opt == '-d':
            optd = 1
    if optu == optc == optd == 0:
        optu = optc = optd = 1
    if not args:
        args = ['-']
    for filename in args:
        if filename == '-':
            readinput(sys.stdin)
        else:
            readinput(open(filename, 'r'))
    #
    warndups()
    #
    more = (optu + optc + optd > 1)
    if optd:
        if more:
            print '---------------All callees------------------'
        printcallee()
    if optu:
        if more:
            print '---------------Undefined callees------------'
        printundef()
    if optc:
        if more:
            print '---------------All Callers------------------'
        printcaller()
    return 0

# Call the main program.
# Use its return value as exit status.
# Catch interrupts to avoid stack trace.
#
if __name__ == '__main__':
    try:
        sys.exit(main())
    except KeyboardInterrupt:
        sys.exit(1)

SILENT KILLER Tool