Example #1
0
    def save(self, group):

        grp = get_subgroup(group, self.range())

        ds1 = save_object_as_dset(grp, 'begin',
                                  data=self.begin())  # dtype='double'
        ds2 = save_object_as_dset(grp, 'end',
                                  data=self.end())  # dtype='double'
        ds3 = save_object_as_dset(grp, 'range',
                                  data=self.range())  # dtype='str'
        ds4 = save_object_as_dset(grp, 'versdef',
                                  data=self._vnum_def)  # dtype='int'

        msg = '=== save(), group %s object for %s' % (grp.name, self.range())
        log.debug(msg, self._name)

        #print 'ZZZ: self.versions()', self.versions()

        # save/delete objects in/from hdf5 file
        for k, v in self._dicvers.iteritems():
            if k in self._lst_del_keys:
                delete_object(grp, version_int_to_str(k))
            else:
                v.save(grp)

        # deletes items from dictionary
        for k in self._lst_del_keys:
            del self._dicvers[k]

        self._lst_del_keys = []

        self.save_base(grp)
Example #2
0
    def save(self, group):
        grp = get_subgroup(group, self.str_vnum())  # (str)
        ds1 = save_object_as_dset(grp, 'version',
                                  data=self.vnum())  # dtype='int'
        ds2 = save_object_as_dset(grp, 'tsprod',
                                  data=self.tsprod())  # dtype='double'
        ds3 = save_object_as_dset(
            grp, 'data', data=self.data())  # dtype='str' or 'np.array'

        msg = '==== save(), group %s object for version %d' % (grp.name,
                                                               self.vnum())
        log.debug(msg, self._name)

        self.save_base(grp)
Example #3
0
    def _save_pars_dict(self, grp):
        """Saves _dicpars in the h5py group"""
        if not self._dicpars: return  # skip empty dictionary

        #grpdic = grp.create_group(self._grp_pars_name)
        grpdic = get_subgroup(grp, self._grp_pars_name)
        for k, v in self._dicpars.items():
            ds = save_object_as_dset(grpdic, name=k, data=v)
Example #4
0
    def _save_hystory_dict(self, grp):
        """Saves _dichist in the h5py group"""
        if not self._dichist: return  # skip empty dictionary

        #grpdic = grp.create_group(self._grp_history_name)
        grpdic = get_subgroup(grp, self._grp_history_name)
        for k, v in self._dichist.items():
            #tstamp = str(self.tsec_to_tstr(k))
            tstamp = str('%.6f' % k)
            #print 'XXX:', tstamp, v
            ds = save_object_as_dset(grpdic, tstamp, data=v)
Example #5
0
    def save(self, group):
        grp = get_subgroup(group, self.ctype())
        ds1 = save_object_as_dset(grp, 'ctype',
                                  data=self.ctype())  # dtype='str'

        msg = '== save(), group %s object for %s' % (grp.name, self.ctype())
        log.debug(msg, self._name)

        # save/delete objects in/from hdf5 file
        for k, v in self._dicranges.iteritems():
            if k in self._lst_del_keys: delete_object(grp, k)
            else: v.save(grp)

        # deletes items from dictionary
        for k in self._lst_del_keys:
            del self._dicranges[k]

        self._lst_del_keys = []

        self.save_base(grp)
Example #6
0
    def save(self, path=None, mode='r+'):
        if path is not None: self._fpath = path
        if not isinstance(self._fpath, str):
            msg = 'Invalid file name: %s' % str(self._fpath)
            log.error(msg, self.__class__.__name__)
            raise ValueError(msg)

        mode_rw = mode if os.path.exists(self._fpath) else 'w'

        with sp.File(self._fpath, mode_rw) as grp:

            msg = '= save(), group %s object for %s' % (grp.name,
                                                        self.detname())
            log.debug(msg, self._name)

            ds1 = save_object_as_dset(grp, 'dettype',
                                      data=self.dettype())  # 'str'
            ds2 = save_object_as_dset(grp, 'detname',
                                      data=self.detname())  # 'str'
            ds3 = save_object_as_dset(grp, 'detid', data=self.detid())  # 'str'
            ds4 = save_object_as_dset(grp, 'tscfile',
                                      data=self.tscfile())  # 'double'
            ds5 = save_object_as_dset(grp,
                                      'predecessor',
                                      data=self.predecessor())  # 'str'
            ds6 = save_object_as_dset(grp, 'successor',
                                      data=self.successor())  # 'str'

            # save/delete objects in/from hdf5 file
            for k, v in self._dicctypes.iteritems():
                if k in self._lst_del_keys: delete_object(grp, k)
                else: v.save(grp)
                #self._dicctypes[k].save(grp)

            # deletes items from dictionary
            for k in self._lst_del_keys:
                del self._dicctypes[k]

            self._lst_del_keys = []

            self.save_base(grp)

            grp.close()
            log.info('File %s is updated/saved' % self._fpath, self._name)