summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/eas_acls.py
diff options
context:
space:
mode:
authorjoshn <joshn@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2009-06-04 23:50:58 +0000
committerjoshn <joshn@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2009-06-04 23:50:58 +0000
commit55a4a7d925ab079617e74113d448f4540661e317 (patch)
treecf7eb6eae3a08893702c4ca5bccd3198df25171e /rdiff-backup/rdiff_backup/eas_acls.py
parent2717ce34a4c17ad87b021a0a51be89164ef7a2c3 (diff)
downloadrdiff-backup-55a4a7d925ab079617e74113d448f4540661e317.tar.gz
Gah. Fix unicode support for linux systems where the destination Python installation doesn't support unicode filenames.
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@1057 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/eas_acls.py')
-rw-r--r--rdiff-backup/rdiff_backup/eas_acls.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/rdiff-backup/rdiff_backup/eas_acls.py b/rdiff-backup/rdiff_backup/eas_acls.py
index c0b550b..af57ef1 100644
--- a/rdiff-backup/rdiff_backup/eas_acls.py
+++ b/rdiff-backup/rdiff_backup/eas_acls.py
@@ -180,8 +180,11 @@ def Record2EA(record):
raise metadata.ParsingError("Bad record beginning: " + first[:8])
filename = first[8:]
if filename == '.': index = ()
- else: index = tuple(unicode(C.acl_unquote(encode(filename)),
- 'utf-8').split('/'))
+ else:
+ unquoted_filename = C.acl_unquote(encode(filename))
+ if Globals.use_unicode_paths:
+ unquoted_filename = unicode(unquoted_filename, 'utf-8')
+ index = tuple(unquoted_filename.split('/'))
ea = ExtendedAttributes(index)
for line in lines:
@@ -556,8 +559,11 @@ def Record2ACL(record):
raise metadata.ParsingError("Bad record beginning: "+ first_line)
filename = first_line[8:]
if filename == '.': index = ()
- else: index = tuple(unicode(C.acl_unquote(encode(filename)),
- 'utf-8').split('/'))
+ else:
+ unquoted_filename = C.acl_unquote(encode(filename))
+ if Globals.use_unicode_paths:
+ unquoted_filename = unicode(unquoted_filename, 'utf-8')
+ index = tuple(unquoted_filename.split('/'))
return AccessControlLists(index, record[newline_pos:])
class ACLExtractor(EAExtractor):