Esempio n. 1
0
    def saveUri(self, uri):
        """Save `QuantumGraph` to the specified URI.

        Parameters
        ----------
        uri : `ButlerURI` or `str`
            URI to where the graph should be saved.
        """
        buffer = self._buildSaveObject()
        butlerUri = ButlerURI(uri)
        if butlerUri.getExtension() not in (".qgraph"):
            raise TypeError(
                f"Can currently only save a graph in qgraph format not {uri}")
        butlerUri.write(
            buffer
        )  # type: ignore  # Ignore because bytearray is safe to use in place of bytes
Esempio n. 2
0
    def testUriExtensions(self):
        """Test extension extraction."""

        files = (("file.fits.gz", ".fits.gz"),
                 ("file.fits", ".fits"),
                 ("file.fits.xz", ".fits.xz"),
                 ("file.fits.tar", ".tar"),
                 ("file", ""),
                 ("flat_i_sim_1.4_blah.fits.gz", ".fits.gz"),
                 ("flat_i_sim_1.4_blah.txt", ".txt"),
                 ("flat_i_sim_1.4_blah.fits.fz", ".fits.fz"),
                 ("flat_i_sim_1.4_blah.fits.txt", ".txt"),
                 )

        for file, expected in files:
            uri = ButlerURI(f"a/b/{file}")
            self.assertEqual(uri.getExtension(), expected)
Esempio n. 3
0
    def testUriExtensions(self):
        """Test extension extraction."""

        files = (("file.fits.gz", ".fits.gz"),
                 ("file.fits", ".fits"),
                 ("file.fits.xz", ".fits.xz"),
                 ("file.fits.tar", ".tar"),
                 ("file", ""),
                 ("flat_i_sim_1.4_blah.fits.gz", ".fits.gz"),
                 ("flat_i_sim_1.4_blah.txt", ".txt"),
                 ("flat_i_sim_1.4_blah.fits.fz", ".fits.fz"),
                 ("flat_i_sim_1.4_blah.fits.txt", ".txt"),
                 ("s3://bucket/c/a.b/", ""),
                 ("s3://bucket/c/a.b", ".b"),
                 ("file://localhost/c/a.b.gz", ".b.gz"),
                 )

        for file, expected in files:
            test_string = file
            if ":" not in test_string:
                test_string = f"a/b/{test_string}"
            uri = ButlerURI(test_string)
            self.assertEqual(uri.getExtension(), expected)