MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / _write_gzip_header

Method _write_gzip_header

tools/python-3.11.9-amd64/Lib/gzip.py:240–270  ·  view source on GitHub ↗
(self, compresslevel)

Source from the content-addressed store, hash-verified

238 self.offset = 0 # Current file offset for seek(), tell(), etc
239
240 def _write_gzip_header(self, compresslevel):
241 self.fileobj.write(b'\037\213') # magic header
242 self.fileobj.write(b'\010') # compression method
243 try:
244 # RFC 1952 requires the FNAME field to be Latin-1. Do not
245 # include filenames that cannot be represented that way.
246 fname = os.path.basename(self.name)
247 if not isinstance(fname, bytes):
248 fname = fname.encode('latin-1')
249 if fname.endswith(b'.gz'):
250 fname = fname[:-3]
251 except UnicodeEncodeError:
252 fname = b''
253 flags = 0
254 if fname:
255 flags = FNAME
256 self.fileobj.write(chr(flags).encode('latin-1'))
257 mtime = self._write_mtime
258 if mtime is None:
259 mtime = time.time()
260 write32u(self.fileobj, int(mtime))
261 if compresslevel == _COMPRESS_LEVEL_BEST:
262 xfl = b'\002'
263 elif compresslevel == _COMPRESS_LEVEL_FAST:
264 xfl = b'\004'
265 else:
266 xfl = b'\000'
267 self.fileobj.write(xfl)
268 self.fileobj.write(b'\377')
269 if fname:
270 self.fileobj.write(fname + b'\000')
271
272 def write(self,data):
273 self._check_not_closed()

Callers 1

__init__Method · 0.95

Calls 6

write32uFunction · 0.85
basenameMethod · 0.80
endswithMethod · 0.80
writeMethod · 0.45
encodeMethod · 0.45
timeMethod · 0.45

Tested by

no test coverage detected