Getting rid of support for MacOS9 and earlier. This is the first step,

and the biggest in size, but probably the easiest. Hunting through the
source code comes next.
This commit is contained in:
Jack Jansen 2003-11-19 14:34:18 +00:00
parent 6045b9c935
commit 28ecf70db5
181 changed files with 0 additions and 22664 deletions

View file

@ -1,97 +0,0 @@
# Extract files from a SHAR archive.
# Run this on the Mac.
# Usage:
# >>> import unshar
# >>> f = open('SHAR')
# >>> unshar.unshar(f)
import string
import EasyDialogs
def unshar(fp, verbose=0, overwrite=0):
ofp = None
file = None
while 1:
line = fp.readline()
if verbose > 3: print 'Got:', `line`
if line[:1] == 'X':
# Most common case first
if ofp: ofp.write(line[1:])
continue
if not line:
if verbose: print 'EOF'
if ofp:
print 'Unterminated file -- closing'
ofp.close()
ofp = None
break
if line[0] == '#':
if verbose: print line,
continue
if line[:14] == 'sed "s/^X//" >':
if verbose: print "!!!", `line`
i = string.find(line, "'")
j = string.find(line, "'", i+1)
if i >= 0 and j > i:
file = line[i+1:j]
if '/' in file:
words = string.splitfields(file, '/')
for funny in '', '.':
while funny in words: words.remove(funny)
for i in range(len(words)):
if words[i] == '..': words[i] = ''
words.insert(0, '')
file = string.joinfields(words, ':')
try:
ofp = open(file, 'r')
ofp.close()
ofp = None
over = 1
except IOError:
over = 0
if over and not overwrite:
print 'Skipping', file, '(already exists) ...'
continue
ofp = open(file, 'w')
if over:
print 'Overwriting', file, '...'
else:
print 'Writing', file, '...'
continue
if line == 'END_OF_FILE\n':
if not file:
print 'Unexpected END_OF_FILE marker'
if ofp:
print 'done'
ofp.close()
ofp = None
else:
print 'done skipping'
file = None
continue
if verbose: print "...", `line`
def main():
import sys
import os
if len(sys.argv) > 1:
for fname in sys.argv[1:]:
fp = open(fname, 'r')
dir, fn = os.path.split(fname)
if dir:
os.chdir(dir)
unshar(fp)
else:
import macfs
fname = EasyDialogs.AskFileForOpen()
if not fname:
sys.exit(0)
fp = open(fname, 'r')
dirname = EasyDialogs.AskFolder(message='Folder to save files in:')
if not dirname:
sys.exit(0)
os.chdir(dirname)
unshar(fp)
if __name__ == '__main__':
main()