def test_write_read_vars(self):
     
     raise unittest.SkipTest('Problem with _test_variables - fails for reasons unknown...')
     ack = dap_tools.write_netcdf_from_dataset(self.ds1, self.testname)
     self.assertEqual(ack,0)
     
     self.ds2 = dap_tools.read_netcdf_from_file(self.testname)
     self._test_variables(self.ds1,self.ds2)
    def test_write_read_vars(self):

        raise unittest.SkipTest(
            'Problem with _test_variables - fails for reasons unknown...')
        ack = dap_tools.write_netcdf_from_dataset(self.ds1, self.testname)
        self.assertEqual(ack, 0)

        self.ds2 = dap_tools.read_netcdf_from_file(self.testname)
        self._test_variables(self.ds1, self.ds2)
Beispiel #3
0
    def _save_dap_dataset(self, dataset, path):
        """
        @brief save the dataset as a netcdf file or append to an existing file
        @param dataset a pydap dataset
        @param fname the name of the file to write the pydap dataset,
        fname must use an absolute path
        """

        fname = dataset.name
        fname = os.path.join(path, fname)

        if "%2Enc" in fname:
            fname = fname.replace("%2Enc", ".nc")

        elif not ".nc" in fname:
            fname = ".".join((fname, "nc"))

        logging.info("running _save_dap_dataset, fname=%s" % fname)
        try:
            os.stat(fname)
        except OSError:
            logging.info("Archive file does not exist")
            # Use return value - or throw an exception?
            return 1

        # Check to see if the file exists but is empty.
        if os.path.getsize(fname) == 0:
            # Write the data to a new file
            logging.info("Archive file exists, but is empty")
            dap_tools.write_netcdf_from_dataset(dataset, fname)
            return 0
        else:
            # The file exists and is not empty, append the contents

            tmp_file_base = os.path.join(path, str(uuid.uuid4())[:8])

            tmp_file_0 = tmp_file_base + "_0.nc"

            shutil.copy(fname, tmp_file_0)

            tmp_file_1 = tmp_file_base + "_1.nc"
            dap_tools.write_netcdf_from_dataset(dataset, tmp_file_1)

            logging.info("Write new dataset to the file")
            configfile = self._create_nca_configfile(tmp_file_base)
            logging.info("Initializing nca handler")
            h = ncaHandler(configfile.name)
            try:
                ds = h.parse_constraints({"pydap.ce": (None, None)})
            except:
                logging.exception("problem using append handler")
                # Use return value or exception?
                os.remove(tmp_file_1)
                os.remove(tmp_file_0)
                return 2

            logging.info("Created new netcdf dataset")
            dap_tools.write_netcdf_from_dataset(ds, tmp_file_base + "agg.nc")
            shutil.move(tmp_file_base + "agg.nc", fname)

            configfile.close()
            os.remove(tmp_file_1)
            os.remove(tmp_file_0)

            return 0
Beispiel #4
0
    def _save_dap_dataset(self, dataset, path):
        """
        @brief save the dataset as a netcdf file or append to an existing file
        @param dataset a pydap dataset
        @param fname the name of the file to write the pydap dataset,
        fname must use an absolute path
        """

        fname = dataset.name
        fname = os.path.join(path, fname)

        if '%2Enc' in fname:
            fname = fname.replace('%2Enc', '.nc')

        elif not '.nc' in fname:
            fname = ".".join((fname, "nc"))

        logging.info("running _save_dap_dataset, fname=%s" % fname)
        try:
            os.stat(fname)
        except OSError:
            logging.info("Archive file does not exist")
            # Use return value - or throw an exception?
            return 1

        #Check to see if the file exists but is empty.
        if os.path.getsize(fname) == 0:
            # Write the data to a new file
            logging.info("Archive file exists, but is empty")
            dap_tools.write_netcdf_from_dataset(dataset, fname)
            return 0
        else:
            #The file exists and is not empty, append the contents

            tmp_file_base = os.path.join(path, str(uuid.uuid4())[:8])

            tmp_file_0 = tmp_file_base + '_0.nc'

            shutil.copy(fname, tmp_file_0)

            tmp_file_1 = tmp_file_base + '_1.nc'
            dap_tools.write_netcdf_from_dataset(dataset, tmp_file_1)

            logging.info("Write new dataset to the file")
            configfile = self._create_nca_configfile(tmp_file_base)
            logging.info("Initializing nca handler")
            h = ncaHandler(configfile.name)
            try:
                ds = h.parse_constraints({'pydap.ce': (None, None)})
            except:
                logging.exception("problem using append handler")
                # Use return value or exception?
                os.remove(tmp_file_1)
                os.remove(tmp_file_0)
                return 2

            logging.info("Created new netcdf dataset")
            dap_tools.write_netcdf_from_dataset(ds, tmp_file_base + 'agg.nc')
            shutil.move(tmp_file_base + 'agg.nc', fname)

            configfile.close()
            os.remove(tmp_file_1)
            os.remove(tmp_file_0)

            return 0
    def test_write_read_global_atts(self):
        ack = dap_tools.write_netcdf_from_dataset(self.ds1, self.testname)
        self.assertEqual(ack, 0)

        self.ds2 = dap_tools.read_netcdf_from_file(self.testname)
        self._test_global_atts(self.ds1, self.ds2)
 def test_write_read_global_atts(self):
     ack = dap_tools.write_netcdf_from_dataset(self.ds1, self.testname)
     self.assertEqual(ack,0)
     
     self.ds2 = dap_tools.read_netcdf_from_file(self.testname)
     self._test_global_atts(self.ds1,self.ds2)