def fill_in_default_metadata(rec, modelspecs, IsReload=False, **context): ''' Sets any uninitialized metadata to defaults that should help us find it in nems_db again. (fitter, recording, date, etc) ''' if not IsReload: # Add metadata to help you reload this state later for modelspec in modelspecs: meta = get_modelspec_metadata(modelspec) if 'fitter' not in meta: set_modelspec_metadata(modelspec, 'fitter', 'None') if 'fit_time' not in meta: set_modelspec_metadata(modelspec, 'fitter', 'None') if 'recording' not in meta: recname = rec.name if rec else 'None' set_modelspec_metadata(modelspec, 'recording', recname) if 'recording_uri' not in meta: uri = rec.uri if rec and rec.uri else 'None' set_modelspec_metadata(modelspec, 'recording_uri', uri) if 'date' not in meta: set_modelspec_metadata(modelspec, 'date', iso8601_datestring()) if 'hostname' not in meta: set_modelspec_metadata(modelspec, 'hostname', socket.gethostname()) return {'modelspecs': modelspecs}
def tree_path(recording, modelspecs, xfspec): ''' Returns a relative path (excluding filename, host, port) for URIs. Editing this function edits the path in the file tree of every file saved! ''' xformname = xfspec_shortname(xfspec) modelname = get_modelspec_shortname(modelspecs[0]) recname = recording.name # Or from rec.uri??? meta = get_modelspec_metadata(modelspecs[0]) date = meta.get('date', iso8601_datestring()) path = '/' + recname + '/' + modelname + '/' + xformname + '/' + date + '/' return path