def _remove_reference_related_entries(self, reference): if IReferenceValue.providedBy(reference): reference_name = reference.tags[1] else: reference_name = reference for indexes in self._index.itervalues(): if indexes.has_key(reference_name): del indexes[reference_name]
def __create_reference(self, content_id, name=None, target_id=0, tags=None, factory=ReferenceValue): """Create and add a new reference """ if not IReferenceValue.implementedBy(factory): raise TypeError('Wrong factory %s for reference, ' 'it should implement IReferenceValue' % factory) if tags is None: tags = [] if name is not None: tags.append(name) reference = factory(content_id, target_id, tags=tags) reference_id = str(uuid.uuid4()) self.references[reference_id] = reference return reference