From 7a152191c666d035724335c1aff4a2712d25340a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Mon, 19 Dec 2005 08:50:27 +0000
Subject: [PATCH] fix encoding of path at export

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4729 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessTemplate.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py
index 9e2714f5b0..23617b1a5a 100755
--- a/product/ERP5/Document/BusinessTemplate.py
+++ b/product/ERP5/Document/BusinessTemplate.py
@@ -192,7 +192,7 @@ class BusinessTemplateTarball(BusinessTemplateArchive):
     self.tar = tarfile.open('', 'w:gz', self.fobj)
 
   def addFolder(self, name=''):
-     if not os.path.exists(name):
+    if not os.path.exists(name):
       os.makedirs(name)
 
   def addObject(self, obj, name, path=None, ext='.xml'):
@@ -338,7 +338,13 @@ class ObjectTemplateItem(BaseTemplateItem):
       obj = self._objects[key]
       # create folder and subfolders
       folders, id = os.path.split(key)
-      path = os.path.join(root_path, folders)
+      encode_folders = []
+      for folder in folders.split('/'):
+        if '%' not in folder:
+          encode_folders.append(pathname2url(folder))
+        else:
+          encode_folders.append(folder)
+      path = os.path.join(root_path, (os.sep).join(encode_folders))
       bta.addFolder(name=path)
       # export object in xml
       f=StringIO()
-- 
2.30.9