diff options
Diffstat (limited to 'django/utils/text.py')
| -rw-r--r-- | django/utils/text.py | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/django/utils/text.py b/django/utils/text.py index e6849a018d..f51113b483 100644 --- a/django/utils/text.py +++ b/django/utils/text.py @@ -291,9 +291,8 @@ def phone2numeric(phone): # Used with permission. def compress_string(s): zbuf = BytesIO() - zfile = GzipFile(mode='wb', compresslevel=6, fileobj=zbuf) - zfile.write(s) - zfile.close() + with GzipFile(mode='wb', compresslevel=6, fileobj=zbuf) as zfile: + zfile.write(s) return zbuf.getvalue() @@ -321,15 +320,14 @@ class StreamingBuffer(object): # Like compress_string, but for iterators of strings. def compress_sequence(sequence): buf = StreamingBuffer() - zfile = GzipFile(mode='wb', compresslevel=6, fileobj=buf) - # Output headers... - yield buf.read() - for item in sequence: - zfile.write(item) - data = buf.read() - if data: - yield data - zfile.close() + with GzipFile(mode='wb', compresslevel=6, fileobj=buf) as zfile: + # Output headers... + yield buf.read() + for item in sequence: + zfile.write(item) + data = buf.read() + if data: + yield data yield buf.read() |
