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
         return """
94
         return """
95
 {name}._fields = {fields}
95
 {name}._fields = {fields}
96
 {name}._superiors = {dsups}
96
 {name}._superiors = {dsups}
97
-{name}._leClass = {leclass}
97
+{name}._leclass = {leclass}
98
 """.format(
98
 """.format(
99
     name = LeFactory.name2classname(emtype.name),
99
     name = LeFactory.name2classname(emtype.name),
100
     fields = repr(type_fields),
100
     fields = repr(type_fields),
103
 )
103
 )
104
 
104
 
105
     ## @brief Generate python code containing the LeObject API
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
     # @return A string representing python code
110
     # @return A string representing python code
109
     @staticmethod
111
     @staticmethod
110
     def generate_python(backend_cls, backend_args, datasource_cls, datasource_args):
112
     def generate_python(backend_cls, backend_args, datasource_cls, datasource_args):
139
     _datasource = %s(**%s)
141
     _datasource = %s(**%s)
140
     _me_uid = %s
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
         emclass_l = model.components(EditorialModel.classes.EmClass)
146
         emclass_l = model.components(EditorialModel.classes.EmClass)
145
         emtype_l = model.components(EditorialModel.types.EmType)
147
         emtype_l = model.components(EditorialModel.types.EmType)
147
         #LeClass child classes definition
149
         #LeClass child classes definition
148
         for emclass in emclass_l:
150
         for emclass in emclass_l:
149
            result += """
151
            result += """
150
-class %s(LeObject,LeType):
152
+class %s(LeObject,LeClass):
151
     _class_id = %d
153
     _class_id = %d
152
 """%(LeFactory.name2classname(emclass.name), emclass.uid)
154
 """%(LeFactory.name2classname(emclass.name), emclass.uid)
153
         #LeType child classes definition
155
         #LeType child classes definition
168
 LeObject._me_uid = %s
170
 LeObject._me_uid = %s
169
 """%repr({ comp.uid:LeFactory.name2classname(comp.name) for comp in emclass_l + emtype_l })
171
 """%repr({ comp.uid:LeFactory.name2classname(comp.name) for comp in emclass_l + emtype_l })
170
             
172
             
171
-            
172
         return result
173
         return result
173
 
174
 

+ 3
- 3
leobject/letype.py View File

90
     # @thorw A leo exception if invalid stuff
90
     # @thorw A leo exception if invalid stuff
91
     # @throw InvalidArgumentError if invalid argument
91
     # @throw InvalidArgumentError if invalid argument
92
     @classmethod
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
         pass
96
         pass
97
     
97
     
98
     ## @brief Check that datas are valid for this type
98
     ## @brief Check that datas are valid for this type

Loading…
Cancel
Save