pypet/storageservice.py
def _ann_store_annotations(self, item_with_annotations, node, overwrite=False):
        """Stores annotations into an hdf5 file."""

        # If we overwrite delete all annotations first
        if overwrite is True or overwrite == 'v_annotations':
            annotated = self._all_get_from_attrs(node, HDF5StorageService.ANNOTATED)
            if annotated:
                current_attrs = node._v_attrs
                for attr_name in current_attrs._v_attrnames:
                    if attr_name.startswith(HDF5StorageService.ANNOTATION_PREFIX):
                        delattr(current_attrs, attr_name)
                delattr(current_attrs, HDF5StorageService.ANNOTATED)
                self._hdf5file.flush()

        # Only store annotations if the item has some
        if not item_with_annotations.v_annotations.f_is_empty():

            anno_dict = item_with_annotations.v_annotations._dict

            current_attrs = node._v_attrs

            changed = False

            for field_name in anno_dict:
                val = anno_dict[field_name]

                field_name_with_prefix = HDF5StorageService.ANNOTATION_PREFIX + field_name
                if field_name_with_prefix not in current_attrs:
                    # Only store *new* annotations, if they already exist on disk, skip storage
                    setattr(current_attrs, field_name_with_prefix, val)
                    changed = True

            if changed:
                setattr(current_attrs, HDF5StorageService.ANNOTATED, True)
                self._hdf5file.flush()
def _ann_store_annotations(self, item_with_annotations, node, overwrite=False):
        # If we overwrite delete all annotations first
        if overwrite is True or overwrite == 'v_annotations':
            annotated = self._all_get_from_attrs(node, HDF5StorageService.ANNOTATED)
            if annotated:
                current_attrs = node._v_attrs
                for attr_name in current_attrs._v_attrnames:
                    if attr_name.startswith(HDF5StorageService.ANNOTATION_PREFIX):
                        delattr(current_attrs, attr_name)
                delattr(current_attrs, HDF5StorageService.ANNOTATED)
                self._hdf5file.flush()

        # Only store annotations if the item has some
        if not item_with_annotations.v_annotations.f_is_empty():

            anno_dict = item_with_annotations.v_annotations._dict

            current_attrs = node._v_attrs

            changed = False

            for field_name in anno_dict:
                val = anno_dict[field_name]

                field_name_with_prefix = HDF5StorageService.ANNOTATION_PREFIX + field_name
                if field_name_with_prefix not in current_attrs:
                    # Only store *new* annotations, if they already exist on disk, skip storage
                    setattr(current_attrs, field_name_with_prefix, val)
                    changed = True

            if changed:
                setattr(current_attrs, HDF5StorageService.ANNOTATED, True)
                self._hdf5file.flush()
def _ann_store_annotations ( self , item_with_annotations , node , overwrite = False ) : # If we overwrite delete all annotations first if overwrite is True or overwrite == 'v_annotations' : annotated = self . _all_get_from_attrs ( node , HDF5StorageService . ANNOTATED ) if annotated : current_attrs = node . _v_attrs for attr_name in current_attrs . _v_attrnames : if attr_name . startswith ( HDF5StorageService . ANNOTATION_PREFIX ) : delattr ( current_attrs , attr_name ) delattr ( current_attrs , HDF5StorageService . ANNOTATED ) self . _hdf5file . flush ( ) # Only store annotations if the item has some if not item_with_annotations . v_annotations . f_is_empty ( ) : anno_dict = item_with_annotations . v_annotations . _dict current_attrs = node . _v_attrs changed = False for field_name in anno_dict : val = anno_dict [ field_name ] field_name_with_prefix = HDF5StorageService . ANNOTATION_PREFIX + field_name if field_name_with_prefix not in current_attrs : # Only store *new* annotations, if they already exist on disk, skip storage setattr ( current_attrs , field_name_with_prefix , val ) changed = True if changed : setattr ( current_attrs , HDF5StorageService . ANNOTATED , True ) self . _hdf5file . flush ( )
Stores annotations into an hdf5 file.
Stores annotations into an hdf5 file .