Example #1
0
 def _attribute_name_map(self):
   """Get property to name mapping for object attributes."""
   model = getattr(models.all_models, self.child_type, None)
   if not model:
     logger.warning("Exporting invalid snapshot model: %s", self.child_type)
     return {}
   aliases = AttributeInfo.gather_visible_aliases(model)
   aliases.update(self.CUSTOM_SNAPSHOT_ALIASES)
   if self.MAPPINGS_KEY in self.fields:
     aliases.update(self.SNAPSHOT_MAPPING_ALIASES)
   name_map = {
       key: value["display_name"] if isinstance(value, dict) else value
       for key, value in aliases.iteritems()
   }
   orderd_keys = AttributeInfo.get_column_order(name_map.keys())
   return OrderedDict((key, name_map[key]) for key in orderd_keys)
Example #2
0
 def _attribute_name_map(self):
   """Get property to name mapping for object attributes."""
   model = getattr(models.all_models, self.child_type, None)
   if not model:
     logger.warning("Exporting invalid snapshot model: %s", self.child_type)
     return {}
   aliases = AttributeInfo.gather_visible_aliases(model)
   aliases.update(AttributeInfo.get_acl_definitions(model))
   aliases.update(self.CUSTOM_SNAPSHOT_ALIASES)
   if self.MAPPINGS_KEY in self.fields:
     aliases.update(self.SNAPSHOT_MAPPING_ALIASES)
   name_map = {
       key: value["display_name"] if isinstance(value, dict) else value
       for key, value in aliases.iteritems()
   }
   orderd_keys = AttributeInfo.get_column_order(name_map.keys())
   return OrderedDict((key, name_map[key]) for key in orderd_keys)
Example #3
0
  def test_gather_visible_aliases(self):
    """Test gather visible aliases."""
    class Child(object):
      # pylint: disable=too-few-public-methods
      _aliases = {
          "visible_child_normal": "normal",
          "visible_child_extended": {
              "display_name": "Extended",
          },
          "child_filter_only": {
              "display_name": "Extended",
              "filter_only": True,
          },
      }

    class Parent(Child):
      # pylint: disable=too-few-public-methods
      _aliases = {
          "visible_parent_normal": "normal",
          "visible_parent_extended": {
              "display_name": "Extended",
          },
          "parent_filter_only": {
              "display_name": "Extended",
              "filter_only": True,
          },
      }

    self.assertEqual(
        AttributeInfo.gather_visible_aliases(Parent),
        {
            "visible_parent_normal": "normal",
            "visible_parent_extended": {
                "display_name": "Extended",
            },
            "visible_child_normal": "normal",
            "visible_child_extended": {
                "display_name": "Extended",
            },
        }
    )
Example #4
0
  def test_gather_visible_aliases(self):
    """Test gather visible aliases."""
    class Child(object):
      # pylint: disable=too-few-public-methods
      _aliases = {
          "visible_child_normal": "normal",
          "visible_child_extended": {
              "display_name": "Extended",
          },
          "child_filter_only": {
              "display_name": "Extended",
              "filter_only": True,
          },
      }

    class Parent(Child):
      # pylint: disable=too-few-public-methods
      _aliases = {
          "visible_parent_normal": "normal",
          "visible_parent_extended": {
              "display_name": "Extended",
          },
          "parent_filter_only": {
              "display_name": "Extended",
              "filter_only": True,
          },
      }

    self.assertEqual(
        AttributeInfo.gather_visible_aliases(Parent),
        {
            "visible_parent_normal": "normal",
            "visible_parent_extended": {
                "display_name": "Extended",
            },
            "visible_child_normal": "normal",
            "visible_child_extended": {
                "display_name": "Extended",
            },
        }
    )