Example #1
0
    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
Example #2
0
    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()
Example #3
0
    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
Example #4
0
    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