Style comment: it would have been better not to reuse the fname variable for the encoded version; this may surprise the reader.
On 8/10/07, lars.gustaebel <[email protected]> wrote: > Author: lars.gustaebel > Date: Fri Aug 10 14:02:32 2007 > New Revision: 56896 > > Modified: > python/branches/py3k/Lib/gzip.py > Log: > RFC 1952 requires the FNAME field to be Latin-1. Do not include > filenames that cannot be represented that way. > > > Modified: python/branches/py3k/Lib/gzip.py > ============================================================================== > --- python/branches/py3k/Lib/gzip.py (original) > +++ python/branches/py3k/Lib/gzip.py Fri Aug 10 14:02:32 2007 > @@ -153,6 +153,14 @@ > if fname.endswith(".gz"): > fname = fname[:-3] > flags = 0 > + > + # RFC 1952 requires the FNAME field to be Latin-1. Do not > + # include filenames that cannot be represented that way. > + try: > + fname = fname.encode('latin-1') > + except UnicodeEncodeError: > + fname = '' > + > if fname: > flags = FNAME > self.fileobj.write(chr(flags).encode('latin-1')) > @@ -160,8 +168,7 @@ > self.fileobj.write(b'\002') > self.fileobj.write(b'\377') > if fname: > - # XXX: Ist utf-8 the correct encoding? > - self.fileobj.write(fname.encode('utf-8') + b'\000') > + self.fileobj.write(fname + b'\000') > > def _init_read(self): > self.crc = zlib.crc32("") > _______________________________________________ > Python-3000-checkins mailing list > [email protected] > http://mail.python.org/mailman/listinfo/python-3000-checkins > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000-checkins mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000-checkins
