From 34fe1d211d36c5b0c6e5fd489aebe45318d6ffd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= <stephane.bidoul@acsone.eu>
Date: Sun, 18 Jan 2015 17:43:26 +0100
Subject: [PATCH] [IMP] add support for directory templates in scaffold

closes #4767
---
 openerp/cli/scaffold.py | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/openerp/cli/scaffold.py b/openerp/cli/scaffold.py
index c4f2c44db435..fdbcfb9e4fcc 100644
--- a/openerp/cli/scaffold.py
+++ b/openerp/cli/scaffold.py
@@ -83,18 +83,21 @@ env.filters['snake'] = snake
 env.filters['pascal'] = pascal
 class template(object):
     def __init__(self, identifier):
-        # TODO: directories, archives (zipfile, tarfile)
+        # TODO: archives (zipfile, tarfile)
         self.id = identifier
-        if not os.path.isdir(self.path):
-            die("{} is not a valid module template".format(identifier))
+        # is identifier a builtin?
+        self.path = builtins(identifier)
+        if os.path.isdir(self.path):
+            return
+        # is identifier a directory?
+        self.path = identifier
+        if os.path.isdir(self.path):
+            return
+        die("{} is not a valid module template".format(identifier))
 
     def __str__(self):
         return self.id
 
-    @property
-    def path(self):
-        return builtins(self.id)
-
     def files(self):
         """ Lists the (local) path and content of all files in the template
         """
-- 
GitLab