]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Relocating file to Lib/lib-old.
authorFred Drake <fdrake@acm.org>
Sat, 4 Apr 1998 01:05:17 +0000 (01:05 +0000)
committerFred Drake <fdrake@acm.org>
Sat, 4 Apr 1998 01:05:17 +0000 (01:05 +0000)
Lib/codehack.py [deleted file]
Lib/lockfile.py [deleted file]
Lib/tb.py [deleted file]

diff --git a/Lib/codehack.py b/Lib/codehack.py
deleted file mode 100644 (file)
index 6453db5..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-# 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
diff --git a/Lib/lockfile.py b/Lib/lockfile.py
deleted file mode 100644 (file)
index 3a251d7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-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))
diff --git a/Lib/tb.py b/Lib/tb.py
deleted file mode 100644 (file)
index 5c592ce..0000000
--- a/Lib/tb.py
+++ /dev/null
@@ -1,178 +0,0 @@
-# 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 '...',