@@ 694-718 (lines=25) @@ | ||
691 | (key, self.pk)) |
|
692 | raise MultipleObjectsReturned() |
|
693 | ||
694 | def set_attr(self, key, value): |
|
695 | """ |
|
696 | Method: set_attr |
|
697 | ||
698 | Use this method to set a node's attribute. It looks in the node object and its related properties for an |
|
699 | attribute with the given name and changes it. If non exist, a new property is added saving this attribute. |
|
700 | ||
701 | Parameters: |
|
702 | {string} key - The name of the attribute. |
|
703 | {attr} value - The new value that should be stored. |
|
704 | ||
705 | TODO: Deprecate this method, set_attrs() should only be used to have an efficient modification signal handling. |
|
706 | """ |
|
707 | # Catch attribute setting before object saving cases |
|
708 | assert(self.pk) |
|
709 | if hasattr(self, key): |
|
710 | # Native node attribute, such as X or Y |
|
711 | setattr(self, key, value) |
|
712 | self.save() |
|
713 | else: |
|
714 | # Node property |
|
715 | prop, created = self.properties.get_or_create( |
|
716 | key=key, defaults={ |
|
717 | 'node': self}) |
|
718 | prop.save_value(value) |
|
719 | ||
720 | def set_attrs(self, d): |
|
721 | ''' |
@@ 90-111 (lines=22) @@ | ||
87 | """ |
|
88 | return json.dumps(self.to_dict(use_value_dict)) |
|
89 | ||
90 | def set_attr(self, key, value): |
|
91 | """ |
|
92 | Method: set_attr |
|
93 | ||
94 | Use this method to set a edge's attribute. It looks in the edge object and its related properties for an |
|
95 | attribute with the given name and changes it. If non exist, a new property is added saving this attribute. |
|
96 | ||
97 | Parameters: |
|
98 | {string} key - The name of the attribute. |
|
99 | {attr} value - The new value that should be stored. |
|
100 | ||
101 | TODO: Deprecate this method, set_attrs() should only be used to have an efficient modification signal handling. |
|
102 | """ |
|
103 | assert(self.pk) |
|
104 | if hasattr(self, key): |
|
105 | # Native Edge attribute, such as client_id |
|
106 | setattr(self, key, value) |
|
107 | else: |
|
108 | prop, created = self.properties.get_or_create( |
|
109 | key=key, defaults={ |
|
110 | 'edge': self}) |
|
111 | prop.save_value(value) |
|
112 | ||
113 | def set_attrs(self, d): |
|
114 | ''' |
@@ 77-98 (lines=22) @@ | ||
74 | (key, self.pk)) |
|
75 | raise MultipleObjectsReturned() |
|
76 | ||
77 | def set_attr(self, key, value): |
|
78 | """ |
|
79 | Method: set_attr |
|
80 | ||
81 | Use this method to set a group's attribute. It looks in the group object and its related properties for an |
|
82 | attribute with the given name and changes it. If non exist, a new property is added saving this attribute. |
|
83 | ||
84 | Parameters: |
|
85 | {string} key - The name of the attribute. |
|
86 | {attr} value - The new value that should be stored. |
|
87 | ||
88 | TODO: Deprecate this method, set_attrs() should only be used to have an efficient modification signal handling. |
|
89 | """ |
|
90 | assert(self.pk) |
|
91 | if hasattr(self, key): |
|
92 | # Native NodeGroup attribute, such as client_id |
|
93 | setattr(self, key, value) |
|
94 | else: |
|
95 | prop, created = self.properties.get_or_create( |
|
96 | key=key, defaults={ |
|
97 | 'node_group': self}) |
|
98 | prop.save_value(value) |
|
99 | ||
100 | def set_attrs(self, d): |
|
101 | ''' |