Hackfut Security File Manager
Current Path:
/usr/lib64/python2.6/Tools/scripts
usr
/
lib64
/
python2.6
/
Tools
/
scripts
/
📁
..
📄
byext.py
(3.83 KB)
📄
byext.pyc
(4.36 KB)
📄
byext.pyo
(4.36 KB)
📄
byteyears.py
(1.6 KB)
📄
byteyears.pyc
(1.38 KB)
📄
byteyears.pyo
(1.38 KB)
📄
checkappend.py
(4.55 KB)
📄
checkappend.pyc
(4.84 KB)
📄
checkappend.pyo
(4.84 KB)
📄
checkpyc.py
(1.97 KB)
📄
checkpyc.pyc
(1.96 KB)
📄
checkpyc.pyo
(1.96 KB)
📄
classfix.py
(5.82 KB)
📄
classfix.pyc
(4.15 KB)
📄
classfix.pyo
(4.15 KB)
📄
cleanfuture.py
(8.38 KB)
📄
cleanfuture.pyc
(7.33 KB)
📄
cleanfuture.pyo
(7.3 KB)
📄
combinerefs.py
(4.28 KB)
📄
combinerefs.pyc
(4.18 KB)
📄
combinerefs.pyo
(4.14 KB)
📄
copytime.py
(667 B)
📄
copytime.pyc
(945 B)
📄
copytime.pyo
(945 B)
📄
crlf.py
(614 B)
📄
crlf.pyc
(865 B)
📄
crlf.pyo
(865 B)
📄
cvsfiles.py
(1.75 KB)
📄
cvsfiles.pyc
(2.15 KB)
📄
cvsfiles.pyo
(2.15 KB)
📄
db2pickle.py
(3.49 KB)
📄
db2pickle.pyc
(3.47 KB)
📄
db2pickle.pyo
(3.47 KB)
📄
diff.py
(1.96 KB)
📄
diff.pyc
(2.3 KB)
📄
diff.pyo
(2.3 KB)
📄
dutree.py
(1.58 KB)
📄
dutree.pyc
(2.21 KB)
📄
dutree.pyo
(2.21 KB)
📄
eptags.py
(1.45 KB)
📄
eptags.pyc
(1.84 KB)
📄
eptags.pyo
(1.84 KB)
📄
finddiv.py
(2.46 KB)
📄
finddiv.pyc
(3.25 KB)
📄
finddiv.pyo
(3.25 KB)
📄
findlinksto.py
(1.05 KB)
📄
findlinksto.pyc
(1.41 KB)
📄
findlinksto.pyo
(1.41 KB)
📄
findnocoding.py
(2.65 KB)
📄
findnocoding.pyc
(3.07 KB)
📄
findnocoding.pyo
(3.07 KB)
📄
fixcid.py
(9.75 KB)
📄
fixcid.pyc
(7.78 KB)
📄
fixcid.pyo
(7.78 KB)
📄
fixdiv.py
(13.58 KB)
📄
fixdiv.pyc
(13.84 KB)
📄
fixdiv.pyo
(13.75 KB)
📄
fixheader.py
(1.17 KB)
📄
fixheader.pyc
(1.45 KB)
📄
fixheader.pyo
(1.45 KB)
📄
fixnotice.py
(2.98 KB)
📄
fixnotice.pyc
(3.45 KB)
📄
fixnotice.pyo
(3.45 KB)
📄
fixps.py
(897 B)
📄
fixps.pyc
(977 B)
📄
fixps.pyo
(977 B)
📄
ftpmirror.py
(12.56 KB)
📄
ftpmirror.pyc
(11.03 KB)
📄
ftpmirror.pyo
(11.03 KB)
📄
google.py
(523 B)
📄
google.pyc
(802 B)
📄
google.pyo
(802 B)
📄
gprof2html.py
(2.12 KB)
📄
gprof2html.pyc
(2.26 KB)
📄
gprof2html.pyo
(2.26 KB)
📄
h2py.py
(5.62 KB)
📄
h2py.pyc
(4.24 KB)
📄
h2py.pyo
(4.24 KB)
📄
hotshotmain.py
(1.45 KB)
📄
hotshotmain.pyc
(1.82 KB)
📄
hotshotmain.pyo
(1.82 KB)
📄
ifdef.py
(3.63 KB)
📄
ifdef.pyc
(2.28 KB)
📄
ifdef.pyo
(2.28 KB)
📄
lfcr.py
(622 B)
📄
lfcr.pyc
(890 B)
📄
lfcr.pyo
(890 B)
📄
linktree.py
(2.37 KB)
📄
linktree.pyc
(2.01 KB)
📄
linktree.pyo
(2.01 KB)
📄
lll.py
(750 B)
📄
lll.pyc
(963 B)
📄
lll.pyo
(963 B)
📄
logmerge.py
(5.45 KB)
📄
logmerge.pyc
(5.04 KB)
📄
logmerge.pyo
(5.04 KB)
📄
mailerdaemon.py
(7.73 KB)
📄
mailerdaemon.pyc
(7.27 KB)
📄
mailerdaemon.pyo
(7.27 KB)
📄
md5sum.py
(2.33 KB)
📄
md5sum.pyc
(2.89 KB)
📄
md5sum.pyo
(2.89 KB)
📄
methfix.py
(5.34 KB)
📄
methfix.pyc
(4.1 KB)
📄
methfix.pyo
(4.1 KB)
📄
mkreal.py
(1.59 KB)
📄
mkreal.pyc
(1.95 KB)
📄
mkreal.pyo
(1.95 KB)
📄
ndiff.py
(3.72 KB)
📄
ndiff.pyc
(3.8 KB)
📄
ndiff.pyo
(3.8 KB)
📄
nm2def.py
(2.39 KB)
📄
nm2def.pyc
(2.93 KB)
📄
nm2def.pyo
(2.93 KB)
📄
objgraph.py
(5.88 KB)
📄
objgraph.pyc
(4.9 KB)
📄
objgraph.pyo
(4.9 KB)
📄
parseentities.py
(1.68 KB)
📄
parseentities.pyc
(2.04 KB)
📄
parseentities.pyo
(2.04 KB)
📄
patchcheck.py
(2.58 KB)
📄
patchcheck.pyc
(3.94 KB)
📄
patchcheck.pyo
(3.94 KB)
📄
pathfix.py
(4.71 KB)
📄
pathfix.pyc
(4.16 KB)
📄
pathfix.pyo
(4.16 KB)
📄
pdeps.py
(3.85 KB)
📄
pdeps.pyc
(3.2 KB)
📄
pdeps.pyo
(3.2 KB)
📄
pickle2db.py
(3.85 KB)
📄
pickle2db.pyc
(3.78 KB)
📄
pickle2db.pyo
(3.78 KB)
📄
pindent.py
(17.48 KB)
📄
pindent.pyc
(12.71 KB)
📄
pindent.pyo
(12.71 KB)
📄
ptags.py
(1.2 KB)
📄
ptags.pyc
(1.39 KB)
📄
ptags.pyo
(1.39 KB)
📄
pysource.py
(3.76 KB)
📄
pysource.pyc
(3.96 KB)
📄
pysource.pyo
(3.96 KB)
📄
redemo.py
(5.63 KB)
📄
redemo.pyc
(5.16 KB)
📄
redemo.pyo
(5.16 KB)
📄
reindent-rst.py
(841 B)
📄
reindent-rst.pyc
(1.12 KB)
📄
reindent-rst.pyo
(1.12 KB)
📄
reindent.py
(10.25 KB)
📄
reindent.pyc
(8.7 KB)
📄
reindent.pyo
(8.66 KB)
📄
rgrep.py
(1.46 KB)
📄
rgrep.pyc
(1.86 KB)
📄
rgrep.pyo
(1.86 KB)
📄
setup.py
(421 B)
📄
setup.pyc
(550 B)
📄
setup.pyo
(550 B)
📄
suff.py
(625 B)
📄
suff.pyc
(916 B)
📄
suff.pyo
(916 B)
📄
svneol.py
(2.87 KB)
📄
svneol.pyc
(2.86 KB)
📄
svneol.pyo
(2.78 KB)
📄
texcheck.py
(9.04 KB)
📄
texcheck.pyc
(8.28 KB)
📄
texcheck.pyo
(8.28 KB)
📄
texi2html.py
(68.19 KB)
📄
texi2html.pyc
(81.9 KB)
📄
texi2html.pyo
(81.9 KB)
📄
treesync.py
(5.65 KB)
📄
treesync.pyc
(5.93 KB)
📄
treesync.pyo
(5.93 KB)
📄
untabify.py
(1.16 KB)
📄
untabify.pyc
(1.53 KB)
📄
untabify.pyo
(1.53 KB)
📄
which.py
(1.6 KB)
📄
which.pyc
(1.62 KB)
📄
which.pyo
(1.62 KB)
📄
win_add2path.py
(1.58 KB)
📄
win_add2path.pyc
(2.09 KB)
📄
win_add2path.pyo
(2.09 KB)
📄
xxci.py
(2.74 KB)
📄
xxci.pyc
(3.97 KB)
📄
xxci.pyo
(3.97 KB)
Editing: fixcid.py
#! /usr/bin/env python2.6 # Perform massive identifier substitution on C source files. # This actually tokenizes the files (to some extent) so it can # avoid making substitutions inside strings or comments. # Inside strings, substitutions are never made; inside comments, # it is a user option (off by default). # # The substitutions are read from one or more files whose lines, # when not empty, after stripping comments starting with #, # must contain exactly two words separated by whitespace: the # old identifier and its replacement. # # The option -r reverses the sense of the substitutions (this may be # useful to undo a particular substitution). # # If the old identifier is prefixed with a '*' (with no intervening # whitespace), then it will not be substituted inside comments. # # Command line arguments are files or directories to be processed. # Directories are searched recursively for files whose name looks # like a C file (ends in .h or .c). The special filename '-' means # operate in filter mode: read stdin, write stdout. # # Symbolic links are always ignored (except as explicit directory # arguments). # # The original files are kept as back-up with a "~" suffix. # # Changes made are reported to stdout in a diff-like format. # # NB: by changing only the function fixline() you can turn this # into a program for different changes to C source files; by # changing the function wanted() you can make a different selection of # files. import sys import re import os from stat import * import getopt err = sys.stderr.write dbg = err rep = sys.stdout.write def usage(): progname = sys.argv[0] err('Usage: ' + progname + ' [-c] [-r] [-s file] ... file-or-directory ...\n') err('\n') err('-c : substitute inside comments\n') err('-r : reverse direction for following -s options\n') err('-s substfile : add a file of substitutions\n') err('\n') err('Each non-empty non-comment line in a substitution file must\n') err('contain exactly two words: an identifier and its replacement.\n') err('Comments start with a # character and end at end of line.\n') err('If an identifier is preceded with a *, it is not substituted\n') err('inside a comment even when -c is specified.\n') def main(): try: opts, args = getopt.getopt(sys.argv[1:], 'crs:') except getopt.error, msg: err('Options error: ' + str(msg) + '\n') usage() sys.exit(2) bad = 0 if not args: # No arguments usage() sys.exit(2) for opt, arg in opts: if opt == '-c': setdocomments() if opt == '-r': setreverse() if opt == '-s': addsubst(arg) for arg in args: if os.path.isdir(arg): if recursedown(arg): bad = 1 elif os.path.islink(arg): err(arg + ': will not process symbolic links\n') bad = 1 else: if fix(arg): bad = 1 sys.exit(bad) # Change this regular expression to select a different set of files Wanted = '^[a-zA-Z0-9_]+\.[ch]$' def wanted(name): return re.match(Wanted, name) >= 0 def recursedown(dirname): dbg('recursedown(%r)\n' % (dirname,)) bad = 0 try: names = os.listdir(dirname) except os.error, msg: err(dirname + ': cannot list directory: ' + str(msg) + '\n') return 1 names.sort() subdirs = [] for name in names: if name in (os.curdir, os.pardir): continue fullname = os.path.join(dirname, name) if os.path.islink(fullname): pass elif os.path.isdir(fullname): subdirs.append(fullname) elif wanted(name): if fix(fullname): bad = 1 for fullname in subdirs: if recursedown(fullname): bad = 1 return bad def fix(filename): ## dbg('fix(%r)\n' % (filename,)) if filename == '-': # Filter mode f = sys.stdin g = sys.stdout else: # File replacement mode try: f = open(filename, 'r') except IOError, msg: err(filename + ': cannot open: ' + str(msg) + '\n') return 1 head, tail = os.path.split(filename) tempname = os.path.join(head, '@' + tail) g = None # If we find a match, we rewind the file and start over but # now copy everything to a temp file. lineno = 0 initfixline() while 1: line = f.readline() if not line: break lineno = lineno + 1 while line[-2:] == '\\\n': nextline = f.readline() if not nextline: break line = line + nextline lineno = lineno + 1 newline = fixline(line) if newline != line: if g is None: try: g = open(tempname, 'w') except IOError, msg: f.close() err(tempname+': cannot create: '+ str(msg)+'\n') return 1 f.seek(0) lineno = 0 initfixline() rep(filename + ':\n') continue # restart from the beginning rep(repr(lineno) + '\n') rep('< ' + line) rep('> ' + newline) if g is not None: g.write(newline) # End of file if filename == '-': return 0 # Done in filter mode f.close() if not g: return 0 # No changes # Finishing touch -- move files # First copy the file's mode to the temp file try: statbuf = os.stat(filename) os.chmod(tempname, statbuf[ST_MODE] & 07777) except os.error, msg: err(tempname + ': warning: chmod failed (' + str(msg) + ')\n') # Then make a backup of the original file as filename~ try: os.rename(filename, filename + '~') except os.error, msg: err(filename + ': warning: backup failed (' + str(msg) + ')\n') # Now move the temp file to the original file try: os.rename(tempname, filename) except os.error, msg: err(filename + ': rename failed (' + str(msg) + ')\n') return 1 # Return succes return 0 # Tokenizing ANSI C (partly) Identifier = '\(struct \)?[a-zA-Z_][a-zA-Z0-9_]+' String = '"\([^\n\\"]\|\\\\.\)*"' Char = '\'\([^\n\\\']\|\\\\.\)*\'' CommentStart = '/\*' CommentEnd = '\*/' Hexnumber = '0[xX][0-9a-fA-F]*[uUlL]*' Octnumber = '0[0-7]*[uUlL]*' Decnumber = '[1-9][0-9]*[uUlL]*' Intnumber = Hexnumber + '\|' + Octnumber + '\|' + Decnumber Exponent = '[eE][-+]?[0-9]+' Pointfloat = '\([0-9]+\.[0-9]*\|\.[0-9]+\)\(' + Exponent + '\)?' Expfloat = '[0-9]+' + Exponent Floatnumber = Pointfloat + '\|' + Expfloat Number = Floatnumber + '\|' + Intnumber # Anything else is an operator -- don't list this explicitly because of '/*' OutsideComment = (Identifier, Number, String, Char, CommentStart) OutsideCommentPattern = '(' + '|'.join(OutsideComment) + ')' OutsideCommentProgram = re.compile(OutsideCommentPattern) InsideComment = (Identifier, Number, CommentEnd) InsideCommentPattern = '(' + '|'.join(InsideComment) + ')' InsideCommentProgram = re.compile(InsideCommentPattern) def initfixline(): global Program Program = OutsideCommentProgram def fixline(line): global Program ## print '-->', repr(line) i = 0 while i < len(line): i = Program.search(line, i) if i < 0: break found = Program.group(0) ## if Program is InsideCommentProgram: print '...', ## else: print ' ', ## print found if len(found) == 2: if found == '/*': Program = InsideCommentProgram elif found == '*/': Program = OutsideCommentProgram n = len(found) if Dict.has_key(found): subst = Dict[found] if Program is InsideCommentProgram: if not Docomments: print 'Found in comment:', found i = i + n continue if NotInComment.has_key(found): ## print 'Ignored in comment:', ## print found, '-->', subst ## print 'Line:', line, subst = found ## else: ## print 'Substituting in comment:', ## print found, '-->', subst ## print 'Line:', line, line = line[:i] + subst + line[i+n:] n = len(subst) i = i + n return line Docomments = 0 def setdocomments(): global Docomments Docomments = 1 Reverse = 0 def setreverse(): global Reverse Reverse = (not Reverse) Dict = {} NotInComment = {} def addsubst(substfile): try: fp = open(substfile, 'r') except IOError, msg: err(substfile + ': cannot read substfile: ' + str(msg) + '\n') sys.exit(1) lineno = 0 while 1: line = fp.readline() if not line: break lineno = lineno + 1 try: i = line.index('#') except ValueError: i = -1 # Happens to delete trailing \n words = line[:i].split() if not words: continue if len(words) == 3 and words[0] == 'struct': words[:2] = [words[0] + ' ' + words[1]] elif len(words) <> 2: err(substfile + '%s:%r: warning: bad line: %r' % (substfile, lineno, line)) continue if Reverse: [value, key] = words else: [key, value] = words if value[0] == '*': value = value[1:] if key[0] == '*': key = key[1:] NotInComment[key] = value if Dict.has_key(key): err('%s:%r: warning: overriding: %r %r\n' % (substfile, lineno, key, value)) err('%s:%r: warning: previous: %r\n' % (substfile, lineno, Dict[key])) Dict[key] = value fp.close() if __name__ == '__main__': main()
Upload File
Create Folder