Browse Source

Add tests for LeFactory generated code

Yann Weber 9 years ago
parent
commit
f029a95214
2 changed files with 10 additions and 9 deletions
  1. 7
    6
      leobject/lefactory.py
  2. 3
    3
      leobject/letype.py

+ 7
- 6
leobject/lefactory.py View File

@@ -94,7 +94,7 @@ class LeFactory(object):
94 94
         return """
95 95
 {name}._fields = {fields}
96 96
 {name}._superiors = {dsups}
97
-{name}._leClass = {leclass}
97
+{name}._leclass = {leclass}
98 98
 """.format(
99 99
     name = LeFactory.name2classname(emtype.name),
100 100
     fields = repr(type_fields),
@@ -103,8 +103,10 @@ class LeFactory(object):
103 103
 )
104 104
 
105 105
     ## @brief Generate python code containing the LeObject API
106
-    # @param model_args dict : Dict of Model __init__ method arguments
107
-    # @param datasource_args dict : Dict of datasource __init__ method arguments
106
+    # @param backend_cls Backend : A model backend class
107
+    # @param backend_args dict : A dict representing arguments for backend_cls instanciation
108
+    # @param datasource_cls Datasource : A datasource class
109
+    # @param datasource_args dict : A dict representing arguments for datasource_cls instanciation
108 110
     # @return A string representing python code
109 111
     @staticmethod
110 112
     def generate_python(backend_cls, backend_args, datasource_cls, datasource_args):
@@ -139,7 +141,7 @@ class LeObject(_LeObject):
139 141
     _datasource = %s(**%s)
140 142
     _me_uid = %s
141 143
 
142
-"""%(backend_constructor, datasource_cls.__name__, repr(datasource_args), repr(leobj_me_uid))
144
+"""%(backend_constructor, datasource_cls.__module__+'.'+datasource_cls.__name__, repr(datasource_args), repr(leobj_me_uid))
143 145
         
144 146
         emclass_l = model.components(EditorialModel.classes.EmClass)
145 147
         emtype_l = model.components(EditorialModel.types.EmType)
@@ -147,7 +149,7 @@ class LeObject(_LeObject):
147 149
         #LeClass child classes definition
148 150
         for emclass in emclass_l:
149 151
            result += """
150
-class %s(LeObject,LeType):
152
+class %s(LeObject,LeClass):
151 153
     _class_id = %d
152 154
 """%(LeFactory.name2classname(emclass.name), emclass.uid)
153 155
         #LeType child classes definition
@@ -168,6 +170,5 @@ class %s(%s,LeType):
168 170
 LeObject._me_uid = %s
169 171
 """%repr({ comp.uid:LeFactory.name2classname(comp.name) for comp in emclass_l + emtype_l })
170 172
             
171
-            
172 173
         return result
173 174
 

+ 3
- 3
leobject/letype.py View File

@@ -90,9 +90,9 @@ class LeType(object):
90 90
     # @thorw A leo exception if invalid stuff
91 91
     # @throw InvalidArgumentError if invalid argument
92 92
     @classmethod
93
-    def insert(self, **datas):
94
-        self.check_datas_or_raise(datas, complete=True)
95
-        super(LeType, self).insert(typename=self.__class__.__name__, classname=self._leclass.__name__, **datas)
93
+    def insert(cls, **datas):
94
+        cls.check_datas_or_raise(datas, complete=True)
95
+        super(LeType, cls).insert(typename=cls.__name__, **datas)
96 96
         pass
97 97
     
98 98
     ## @brief Check that datas are valid for this type

Loading…
Cancel
Save