changeset 950:343c28c33c19 beta

fixed key error on unknown archival
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 21 Jan 2011 01:21:52 +0100
parents 3bc10f10f2f6
children 48896664e987
files rhodecode/controllers/files.py
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/files.py	Fri Jan 21 01:13:52 2011 +0100
+++ b/rhodecode/controllers/files.py	Fri Jan 21 01:21:52 2011 +0100
@@ -165,17 +165,17 @@
         try:
             repo = ScmModel().get_repo(repo_name)
             cs = repo.get_changeset(revision)
+            content_type = ARCHIVE_SPECS[fileformat][0]
         except ChangesetDoesNotExistError:
             return _('Unknown revision %s') % revision
         except EmptyRepositoryError:
             return _('Empty repository')
-        except InproperArchiveTypeError:
+        except (InproperArchiveTypeError, KeyError):
             return _('Unknown archive type')
 
-        fname = '%s-%s%s' % (repo_name, revision, ext)
-
-        response.content_type = ARCHIVE_SPECS[fileformat][0]
-        response.content_disposition = 'attachment; filename=%s' % fname
+        response.content_type = content_type
+        response.content_disposition = 'attachment; filename=%s-%s%s' \
+            % (repo_name, revision, ext)
 
         return cs.get_chunked_archive(kind=fileformat)