@@ -106,7 +106,7 @@ def __init__(self, filename=None, mode=None,
106106 self ._new_member = True
107107 self .extrabuf = ""
108108 self .extrasize = 0
109- self .filename = filename
109+ self .name = filename
110110 # Starts small, scales exponentially
111111 self .min_readsize = 100
112112
@@ -127,14 +127,20 @@ def __init__(self, filename=None, mode=None,
127127 if self .mode == WRITE :
128128 self ._write_gzip_header ()
129129
130+ @property
131+ def filename (self ):
132+ import warnings
133+ warnings .warn ("use the name attribute" , DeprecationWarning )
134+ if self .mode == WRITE and self .name [- 3 :] != ".gz" :
135+ return self .name + ".gz"
136+ return self .name
137+
130138 def __repr__ (self ):
131139 s = repr (self .fileobj )
132140 return '<gzip ' + s [1 :- 1 ] + ' ' + hex (id (self )) + '>'
133141
134142 def _init_write (self , filename ):
135- if filename [- 3 :] != '.gz' :
136- filename = filename + '.gz'
137- self .filename = filename
143+ self .name = filename
138144 self .crc = zlib .crc32 ("" )
139145 self .size = 0
140146 self .writebuf = []
@@ -143,16 +149,15 @@ def _init_write(self, filename):
143149 def _write_gzip_header (self ):
144150 self .fileobj .write ('\037 \213 ' ) # magic header
145151 self .fileobj .write ('\010 ' ) # compression method
146- fname = self .filename [:- 3 ]
147152 flags = 0
148- if fname :
153+ if self . name :
149154 flags = FNAME
150155 self .fileobj .write (chr (flags ))
151156 write32u (self .fileobj , long (time .time ()))
152157 self .fileobj .write ('\002 ' )
153158 self .fileobj .write ('\377 ' )
154- if fname :
155- self .fileobj .write (fname + '\000 ' )
159+ if self . name :
160+ self .fileobj .write (self . name + '\000 ' )
156161
157162 def _init_read (self ):
158163 self .crc = zlib .crc32 ("" )
0 commit comments