def prepare_to_database(self, prepare_function=None, destination_dir='.', force=False): session = object_session(self) if self.prepared is not None: if not force: raise GMOSDatabaseDuplicate('This fits has already been prepared {0}. ' 'Use force=True to override'.format(self.prepared)) else: session.delete(self.prepared) session.commit() prepared_fits = self.prepare(prepare_function=prepare_function) prepared_fname = (prepare_function.file_prefix if prepare_function else GMOSPrepareFrame.file_prefix) prepared_fname = '{0}-{1}'.format(prepared_fname, self.fits.fname) prepared_full_path = os.path.join(destination_dir, prepared_fname) prepared_fits.writeto(prepared_full_path, clobber=True) # read it back in and add to database fits_file = FITSFile.from_fits_file(prepared_full_path) session.add(fits_file) session.commit() gmos_mos_prepared = GMOSMOSPrepared(id=fits_file.id, raw_fits_id=self.id) session.add(gmos_mos_prepared) session.commit() return gmos_mos_prepared
def add_fits_file(self, fname): """ Add FITS file to database Parameters ---------- fname: str FITS file name/path to add to database """ logger.info('Adding {0} to project'.format(fname)) current_fits = FITSFile.from_fits_file(fname) self.session.add(current_fits) self.session.commit()
def add_fits_file(self, fname): """ Add FITS file to database Parameters ---------- fname: str FITS file name/path to add to database """ logger.info('Adding {0} to project'.format(fname)) current_fits = FITSFile.from_fits_file(fname) self.session.add(current_fits) self.session.commit() return current_fits
def prepare_to_database(self, prepare_function=None, destination_dir='.', force=False): session = object_session(self) if self.prepared is not None: if not force: raise GMOSDatabaseDuplicate( 'This fits has already been prepared {0}. ' 'Use force=True to override'.format(self.prepared)) else: session.delete(self.prepared) session.commit() prepared_fits = self.prepare(prepare_function=prepare_function) prepared_fname = (prepare_function.file_prefix if prepare_function else GMOSPrepareFrame.file_prefix) prepared_fname = '{0}-{1}'.format(prepared_fname, self.fits.fname) prepared_full_path = os.path.join(destination_dir, prepared_fname) prepared_fits.writeto(prepared_full_path, clobber=True) # read it back in and add to database fits_file = FITSFile.from_fits_file(prepared_full_path) session.add(fits_file) session.commit() gmos_mos_prepared = GMOSMOSPrepared(id=fits_file.id, raw_fits_id=self.id) session.add(gmos_mos_prepared) session.commit() return gmos_mos_prepared