entity.py
changeset 2807 696ff03f9a58
parent 2788 8d3dbe577d3a
child 2818 326375561412
equal deleted inserted replaced
2806:9d7173656a1a 2807:696ff03f9a58
   168     e_schema = None
   168     e_schema = None
   169 
   169 
   170     MODE_TAGS = set(('link', 'create'))
   170     MODE_TAGS = set(('link', 'create'))
   171     CATEGORY_TAGS = set(('primary', 'secondary', 'generic', 'generated')) # , 'metadata'))
   171     CATEGORY_TAGS = set(('primary', 'secondary', 'generic', 'generated')) # , 'metadata'))
   172     @classmethod
   172     @classmethod
   173     def __initialize__(cls):
   173     def __initialize__(cls, schema):
   174         """initialize a specific entity class by adding descriptors to access
   174         """initialize a specific entity class by adding descriptors to access
   175         entity type's attributes and relations
   175         entity type's attributes and relations
   176         """
   176         """
   177         etype = cls.id
   177         etype = cls.id
   178         assert etype != 'Any', etype
   178         assert etype != 'Any', etype
   179         cls.e_schema = eschema = cls.schema.eschema(etype)
   179         cls.e_schema = eschema = schema.eschema(etype)
   180         for rschema, _ in eschema.attribute_definitions():
   180         for rschema, _ in eschema.attribute_definitions():
   181             if rschema.type == 'eid':
   181             if rschema.type == 'eid':
   182                 continue
   182                 continue
   183             setattr(cls, rschema.type, Attribute(rschema.type))
   183             setattr(cls, rschema.type, Attribute(rschema.type))
   184         mixins = []
   184         mixins = []