Changeset - 343c28c33c19
[Not reviewed]
beta
0 1 0
Marcin Kuzminski - 15 years ago 2011-01-21 01:21:52
marcin@python-works.com
fixed key error on unknown archival
1 file changed with 5 insertions and 5 deletions:
0 comments (0 inline, 0 general)
rhodecode/controllers/files.py
Show inline comments
 
@@ -156,35 +156,35 @@ class FilesController(BaseController):
 
        ext = None
 

	
 
        for a_type, ext_data in ARCHIVE_SPECS.items():
 
            archive_spec = fname.split(ext_data[1])
 
            if len(archive_spec) == 2 and archive_spec[1] == '':
 
                fileformat = a_type or ext_data[1]
 
                revision = archive_spec[0]
 
                ext = ext_data[1]
 

	
 
        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)
 

	
 

	
 
    def diff(self, repo_name, f_path):
 
        hg_model = ScmModel()
 
        diff1 = request.GET.get('diff1')
 
        diff2 = request.GET.get('diff2')
 
        c.action = request.GET.get('diff')
 
        c.no_changes = diff1 == diff2
 
        c.f_path = f_path
 
        c.repo = hg_model.get_repo(c.repo_name)
0 comments (0 inline, 0 general)