Trees | Indices | Help |
|
---|
|
1 from advene.model.cam.consts import CAM_TYPE, CAMSYS_TYPE 2 from advene.model.cam.element import CamElementMixin 3 from advene.model.cam.exceptions import SemanticError 4 from advene.model.cam.group import CamGroupMixin 5 import advene.model.cam.util.bookkeeping as bk 6 from advene.model.core.relation import Relation as CoreRelation 7 from advene.model.core.element import TAG10 11 @classmethod48 49 Relation.make_metadata_property(CAM_TYPE, "type", default=None, doc=""" 50 The type of this relation, created with Package.create_relation_type. 51 """) 5213 r = super(Relation, cls).instantiate(*args) 14 r._self_connect("modified-items", bk.update_element) 15 return r16 2022 if key == CAM_TYPE: 23 advene_type = getattr(value, "ADVENE_TYPE", None) 24 if advene_type: 25 if advene_type is not TAG \ 26 or value.get_meta(CAMSYS_TYPE, None) != "relation-type": 27 raise SemanticError("not a relation type") 28 else: 29 if not val_is_idref: 30 raise SemanticError("not a relation type") 31 32 old_type = self.get_meta(key, None) 33 owner = self._owner 34 if old_type: 35 old_type = owner.get(old_type, old_type) # get element if we can 36 owner._dissociate_tag_nowarn(self, old_type) 37 owner._associate_tag_nowarn(self, value) 38 39 return super(Relation, self).set_meta(key, value, val_is_idref)40
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Jul 8 16:00:05 2009 | http://epydoc.sourceforge.net |