| @@ 44-75 (lines=32) @@ | ||
| 41 | def to_json(self, use_value_dict=False): |
|
| 42 | return json.dumps(self.to_dict(use_value_dict)) |
|
| 43 | ||
| 44 | def get_property(self, key, default=None): |
|
| 45 | try: |
|
| 46 | return self.properties.get(key=key).get_value() |
|
| 47 | except ObjectDoesNotExist: |
|
| 48 | node_kind = self.nodes.all()[0].kind |
|
| 49 | logger.debug( |
|
| 50 | "Assuming node kind %s for node group properties" % |
|
| 51 | node_kind) |
|
| 52 | try: |
|
| 53 | prop = notations.by_kind[ |
|
| 54 | self.graph.kind]['nodes'][node_kind]['properties'][key] |
|
| 55 | if prop is None: |
|
| 56 | logger.warning( |
|
| 57 | 'Notation configuration has empty default for node property ' + |
|
| 58 | key) |
|
| 59 | result = default |
|
| 60 | else: |
|
| 61 | result = prop['default'] |
|
| 62 | logger.debug( |
|
| 63 | 'Node has no property "%s", using default "%s"' % |
|
| 64 | (key, str(result))) |
|
| 65 | return result |
|
| 66 | except KeyError: |
|
| 67 | logger.debug( |
|
| 68 | 'No default given in notation, using given default "%s" instead' % |
|
| 69 | default) |
|
| 70 | return default |
|
| 71 | except MultipleObjectsReturned: |
|
| 72 | logger.error( |
|
| 73 | "ERROR: Property %s in node group %u exists in multiple instances" % |
|
| 74 | (key, self.pk)) |
|
| 75 | raise MultipleObjectsReturned() |
|
| 76 | ||
| 77 | def set_attr(self, key, value): |
|
| 78 | """ |
|
| @@ 664-692 (lines=29) @@ | ||
| 661 | else: |
|
| 662 | return True |
|
| 663 | ||
| 664 | def get_property(self, key, default=None): |
|
| 665 | try: |
|
| 666 | return self.properties.get(key=key).get_value() |
|
| 667 | except ObjectDoesNotExist: |
|
| 668 | try: |
|
| 669 | prop = notations.by_kind[ |
|
| 670 | self.graph.kind]['nodes'][ |
|
| 671 | self.kind]['properties'][key] |
|
| 672 | if prop is None: |
|
| 673 | logger.warning( |
|
| 674 | 'Notation configuration has empty default for node property ' + |
|
| 675 | key) |
|
| 676 | result = default |
|
| 677 | else: |
|
| 678 | result = prop['default'] |
|
| 679 | logger.debug( |
|
| 680 | 'Node has no property "%s", using default "%s"' % |
|
| 681 | (key, str(result))) |
|
| 682 | return result |
|
| 683 | except KeyError: |
|
| 684 | logger.debug( |
|
| 685 | 'No default given in notation, using given default "%s" instead' % |
|
| 686 | default) |
|
| 687 | return default |
|
| 688 | except MultipleObjectsReturned: |
|
| 689 | logger.error( |
|
| 690 | "ERROR: Property %s in node %u exists in multiple instances" % |
|
| 691 | (key, self.pk)) |
|
| 692 | raise MultipleObjectsReturned() |
|
| 693 | ||
| 694 | def set_attr(self, key, value): |
|
| 695 | """ |
|