[Python-3000-checkins] r55565 - python/branches/py3k-struni/Lib/binhex.py
guido.van.rossum
python-3000-checkins at python.org
Fri May 25 00:05:20 CEST 2007
Author: guido.van.rossum
Date: Fri May 25 00:05:19 2007
New Revision: 55565
Modified:
python/branches/py3k-struni/Lib/binhex.py
Log:
This is the last time I fix binhex. If it breaks again it goes in the dustbin.
Modified: python/branches/py3k-struni/Lib/binhex.py
==============================================================================
--- python/branches/py3k-struni/Lib/binhex.py (original)
+++ python/branches/py3k-struni/Lib/binhex.py Fri May 25 00:05:19 2007
@@ -53,7 +53,7 @@
finfo = FSSpec(name).FSpGetFInfo()
dir, file = os.path.split(name)
# XXX Get resource/data sizes
- fp = open(name, 'rb')
+ fp = io.open(name, 'rb')
fp.seek(0, 2)
dlen = fp.tell()
fp = openrf(name, '*rb')
@@ -172,11 +172,11 @@
name, finfo, dlen, rlen = name_finfo_dlen_rlen
if isinstance(ofp, basestring):
ofname = ofp
- ofp = open(ofname, 'w')
+ ofp = io.open(ofname, 'wb')
if os.name == 'mac':
fss = FSSpec(ofname)
fss.SetCreatorType('BnHq', 'TEXT')
- ofp.write('(This file must be converted with BinHex 4.0)\n\n:')
+ ofp.write(b'(This file must be converted with BinHex 4.0)\r\r:')
hqxer = _Hqxcoderengine(ofp)
self.ofp = _Rlecoderengine(hqxer)
self.crc = 0
@@ -253,7 +253,7 @@
finfo = getfileinfo(inp)
ofp = BinHex(finfo, out)
- ifp = open(inp, 'rb')
+ ifp = io.open(inp, 'rb')
# XXXX Do textfile translation on non-mac systems
while 1:
d = ifp.read(128000)
@@ -371,7 +371,7 @@
class HexBin:
def __init__(self, ifp):
if isinstance(ifp, basestring):
- ifp = open(ifp)
+ ifp = io.open(ifp, 'rb')
#
# Find initial colon.
#
@@ -381,12 +381,10 @@
raise Error, "No binhex data found"
# Cater for \r\n terminated lines (which show up as \n\r, hence
# all lines start with \r)
- if ch == '\r':
+ if ch == b'\r':
continue
- if ch == ':':
+ if ch == b':':
break
- if ch != '\n':
- dummy = ifp.readline()
hqxifp = _Hqxdecoderengine(ifp)
self.ifp = _Rledecoderengine(hqxifp)
@@ -480,7 +478,7 @@
ofss = FSSpec(out)
out = ofss.as_pathname()
- ofp = open(out, 'wb')
+ ofp = io.open(out, 'wb')
# XXXX Do translation on non-mac systems
while 1:
d = ifp.read(128000)
More information about the Python-3000-checkins
mailing list