Browse Source

Added the add_ref method

Roland Haroutiounian 9 years ago
parent
commit
bba3a1bbb8

+ 0
- 1
lodel/leapi/datahandlers/reference.py View File

@@ -33,4 +33,3 @@ class Reference(FieldDataHandler):
33 33
                 return False
34 34
 
35 35
         return True
36
-

+ 11
- 1
lodel/leapi/datahandlers/references/Dict.py View File

@@ -27,4 +27,14 @@ class Dict(Reference):
27 27
             if not isinstance(related, EmClass):
28 28
                 return False
29 29
 
30
-        return True
30
+        return True
31
+
32
+    ## @brief adds a referenced element
33
+    # @param ref_name str : key of the item in the reference dict
34
+    # @param emclass EmClass
35
+    # @return bool
36
+    def add_ref(self, ref_name, emclass):
37
+        if isinstance(emclass, EmClass) and isinstance(ref_name, str):
38
+            self._refs[ref_name] = emclass
39
+            return True
40
+        return False

+ 10
- 0
lodel/leapi/datahandlers/references/List.py View File

@@ -1,4 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2
+from lodel.editorial_model.components import EmClass
2 3
 from lodel.leapi.datahandlers.reference import Reference
3 4
 
4 5
 
@@ -10,3 +11,12 @@ class List(Reference):
10 11
         self._refs = emclasses
11 12
         self._refs_class = list
12 13
         super().__init__(self, allowed=allowed, internal=internal, **kwargs)
14
+
15
+    ## @brief adds a referenced element
16
+    # @param emclass EmClass
17
+    # @return bool
18
+    def add_ref(self, emclass):
19
+        if isinstance(emclass, EmClass):
20
+            self._refs.append(emclass)
21
+            return True
22
+        return False

+ 10
- 0
lodel/leapi/datahandlers/references/Set.py View File

@@ -1,4 +1,5 @@
1 1
 # -*- coding: utf-8 -*-
2
+from lodel.editorial_model.components import EmClass
2 3
 from lodel.leapi.datahandlers.reference import Reference
3 4
 
4 5
 
@@ -13,3 +14,12 @@ class Set(Reference):
13 14
         self._refs = set(emclasses)
14 15
         self._refs_class = set
15 16
         super().__init__(allowed=allowed, internal=internal, **kwargs)
17
+
18
+    ## @brief adds a referenced element
19
+    # @param emclass EmClass
20
+    # @return bool
21
+    def add_ref(self, emclass):
22
+        if isinstance(emclass, EmClass):
23
+            self._refs.add(emclass)
24
+            return True
25
+        return False

+ 5
- 1
lodel/leapi/datahandlers/relation.py View File

@@ -4,6 +4,10 @@ from .field_data_handler import FieldDataHandler
4 4
 
5 5
 class Relation(FieldDataHandler):
6 6
 
7
-    def __init__(self, fieldname, reference):
7
+    ## @brief Instanciates a Relation object
8
+    # @param fieldname : the fieldname involved in the relation
9
+    # @param reference : the reference corresponding to this relation
10
+    def __init__(self, fieldname, reference, **kwargs):
8 11
         self.backref_fieldname = fieldname
9 12
         self.reference = reference
13
+        super().__init__(**kwargs)

Loading…
Cancel
Save