def _analysis_path(runid, repository, modifier=None, extension='.json', mode='r', root=None): if root is None: root = paths.repository_dataset_dir root = os.path.join(root, repository) if UUID_RE.match(runid): sublen = 5 elif WISCAR_ID_RE.match(runid): sublen = 3 else: sublen = 3 if runid.count('-') > 1: args = runid.split('-')[:-1] if len(args[0]) == 1: sublen = 4 else: sublen = 5 try: root, tail = subdirize(root, runid, sublen=sublen, mode=mode) except TypeError: raise AnalysisNotAnvailableError(root, runid) if modifier: d = os.path.join(root, modifier) if not os.path.isdir(d): if mode == 'r': raise AnalysisNotAnvailableError(root, runid) os.mkdir(d) root = d fmt = '{}.{}' if modifier.startswith('.'): fmt = '{}{}' tail = fmt.format(tail, modifier[:4]) name = add_extension(tail, extension) path = os.path.join(root, name) if mode == 'r': if not os.path.isfile(path): raise AnalysisNotAnvailableError(root, runid) return path
def _analysis_path(runid, repository, modifier=None, extension='.json', mode='r', root=None): if root is None: root = paths.repository_dataset_dir root = os.path.join(root, repository) if UUID_RE.match(runid): sublen = 5 elif WISCAR_ID_RE.match(runid): sublen = 3 else: sublen = 3 if runid.count('-') > 1: args = runid.split('-')[:-1] if len(args[0]) == 1: sublen = 4 else: sublen = 5 try: root, tail = subdirize(root, runid, sublen=sublen, mode=mode) except TypeError: raise AnalysisNotAnvailableError(root, runid) if modifier: d = os.path.join(root, modifier) if not os.path.isdir(d): if mode == 'r': raise AnalysisNotAnvailableError(root, runid) os.mkdir(d) root = d fmt = '{}.{}' if modifier.startswith('.'): fmt = '{}{}' tail = fmt.format(tail, modifier[:4]) name = add_extension(tail, extension) path = os.path.join(root, name) if mode == 'r': if not os.path.isfile(path): raise AnalysisNotAnvailableError(root, runid) return path
def analysis_path(runid, repository, modifier=None, extension='.json', mode='r'): root = os.path.join(paths.repository_dataset_dir, repository) l = 3 if runid.count('-') > 1: args = runid.split('-')[:-1] if len(args[0]) == 1: l = 4 else: l = 5 try: root, tail = subdirize(root, runid, l=l, mode=mode) except TypeError: raise AnalysisNotAnvailableError(root, runid) # head, tail = runid[:3], runid[3:] # # if modifier: # # tail = '{}{}'.format(tail, modifier) # root = os.path.join(paths.experiment_dataset_dir, experiment, head) # if not os.path.isdir(root): # os.mkdir(root) if modifier: d = os.path.join(root, modifier) if not os.path.isdir(d): if mode == 'r': return os.mkdir(d) root = d fmt = '{}.{}' if modifier.startswith('.'): fmt = '{}{}' tail = fmt.format(tail, modifier[:4]) name = add_extension(tail, extension) return os.path.join(root, name)
def analysis_path(runid, repository, modifier=None, extension='.json', mode='r'): root = os.path.join(paths.repository_dataset_dir, repository) l = 3 if runid.count('-') > 1: args = runid.split('-')[:-1] if len(args[0]) == 1: l = 4 else: l = 5 try: root, tail = subdirize(root, runid, l=l, mode=mode) except TypeError: raise AnalysisNotAnvailableError(root, runid) # head, tail = runid[:3], runid[3:] # # if modifier: # # tail = '{}{}'.format(tail, modifier) # root = os.path.join(paths.experiment_dataset_dir, experiment, head) # if not os.path.isdir(root): # os.mkdir(root) if modifier: d = os.path.join(root, modifier) if not os.path.isdir(d): if mode == 'r': return os.mkdir(d) root = d fmt = '{}.{}' if modifier.startswith('.'): fmt = '{}{}' tail = fmt.format(tail, modifier[:4]) name = add_extension(tail, extension) return os.path.join(root, name)
def pre_measurement_save(self): """ setup hdf5 file """ self.info('pre measurement save') dm = self.data_manager # make a new frame for saving data name = self.per_spec.run_spec.uuid root, tail = subdirize(paths.isotope_dir, '{}.h5'.format(name), mode='w') path = os.path.join(root, tail) # path = os.path.join(paths.isotope_dir, '{}.h5'.format(name)) self._current_data_frame = path frame = dm.new_frame(path) attrs = frame.root._v_attrs attrs['USER'] = self.per_spec.run_spec.username attrs['ANALYSIS_TYPE'] = self.per_spec.run_spec.analysis_type dm.close_file()
def pre_measurement_save(self): """ setup hdf5 file """ self.info('pre measurement save') dm = self.data_manager # make a new frame for saving data name = self.per_spec.run_spec.uuid root, tail = subdirize(paths.isotope_dir, '{}.h5'.format(name), mode='w') path = os.path.join(root, tail) # path = os.path.join(paths.isotope_dir, '{}.h5'.format(name)) self._current_data_frame = path frame = dm.new_frame(path) attrs = frame.root._v_attrs attrs['USER'] = self.per_spec.run_spec.username attrs['ANALYSIS_TYPE'] = self.per_spec.run_spec.analysis_type dm.close_file()