diff rhodecode/controllers/files.py @ 1401:b7563ad4e7ee beta

Unicode fixes, added safe_str method for global str() operations +better test sandboxing
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 30 Jun 2011 01:25:37 +0200
parents 856be614d9a4
children 2a8bf2a3da98
line wrap: on
line diff
--- a/rhodecode/controllers/files.py	Wed Jun 29 01:49:53 2011 +0200
+++ b/rhodecode/controllers/files.py	Thu Jun 30 01:25:37 2011 +0200
@@ -38,7 +38,7 @@
 from vcs.nodes import FileNode, NodeKind
 from vcs.utils import diffs as differ
 
-from rhodecode.lib import convert_line_endings, detect_mode
+from rhodecode.lib import convert_line_endings, detect_mode, safe_str
 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 from rhodecode.lib.base import BaseRepoController, render
 from rhodecode.lib.utils import EmptyChangeset
@@ -153,7 +153,7 @@
         file_node = self.__get_filenode_or_redirect(repo_name, cs, f_path)
 
         response.content_disposition = 'attachment; filename=%s' % \
-            f_path.split(os.sep)[-1].encode('utf8', 'replace')
+            safe_str(f_path.split(os.sep)[-1])
 
         response.content_type = file_node.mimetype
         return file_node.content
@@ -198,7 +198,7 @@
 
         if dispo == 'attachment':
             dispo = 'attachment; filename=%s' % \
-                        f_path.split(os.sep)[-1].encode('utf8', 'replace')
+                        safe_str(f_path.split(os.sep)[-1])
 
         response.content_disposition = dispo
         response.content_type = mimetype