# HG changeset patch # User Marcin Kuzminski # Date 2011-05-03 19:27:57 # Node ID 73b2fc324c1e654062c3af589442214670b3dfb1 # Parent c1516b35f91da452d8784c382570531012559a11 changes for archivals in rhodecode. Also made it work for git that way diff --git a/rhodecode/controllers/files.py b/rhodecode/controllers/files.py --- a/rhodecode/controllers/files.py +++ b/rhodecode/controllers/files.py @@ -303,7 +303,21 @@ class FilesController(BaseRepoController response.content_disposition = 'attachment; filename=%s-%s%s' \ % (repo_name, revision, ext) - return cs.get_chunked_archive(stream=None, kind=fileformat) + import tempfile + archive = tempfile.mkstemp()[1] + t = open(archive, 'wb') + cs.fill_archive(stream=t, kind=fileformat) + + def get_chunked_archive(archive): + stream = open(archive, 'rb') + while True: + data = stream.read(4096) + if not data: + os.remove(archive) + break + yield data + + return get_chunked_archive(archive) @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 'repository.admin')