1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- """Provides gzip utilities for strings.
- """
- import cStringIO
- import gzip
- import subprocess
- def GzipStringRsyncable(data):
-
-
-
-
-
-
- gzip_proc = subprocess.Popen(['gzip', '--stdout',
- '--best', '--no-name'],
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- data, stderr = gzip_proc.communicate(data)
- if gzip_proc.returncode != 0:
- raise subprocess.CalledProcessError(gzip_proc.returncode, 'gzip',
- stderr)
- return data
- def GzipString(data):
-
-
-
-
-
-
- gzip_output = cStringIO.StringIO()
- with gzip.GzipFile(mode='wb', compresslevel=9, fileobj=gzip_output,
- mtime=0) as gzip_file:
- gzip_file.write(data)
- data = gzip_output.getvalue()
- gzip_output.close()
- return data
|