def test_sequences(self):
        # Also from the DAP2 spec examples section
        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat.dds?xval<15')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat')

        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat.dods?xval<15')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat')
    def test_pydap_urls(self):
        # Variable access, generated by pydap web interface
        b = base_dap_url('http://amoeba.ucsd.edu:8001/glacier.nc.ascii?var232%5B0:1:0%5D%5B0:1:0%5D%5B0:1:601%5D%5B0:1:401%5D&')
        self.assertEqual(b, 'http://amoeba.ucsd.edu:8001/glacier.nc')

        # Same thing, no port number
        b = base_dap_url('http://amoeba.ucsd.edu/glacier.nc.ascii?var232%5B0:1:0%5D%5B0:1:0%5D%5B0:1:601%5D%5B0:1:401%5D&')
        self.assertEqual(b, 'http://amoeba.ucsd.edu/glacier.nc')
    def test_variable_access(self):
        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat.dds?g[20:21][40:42]')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat')

        b = base_dap_url('http://server.edu/grid-data/temp2.dat.das?grid[20:21][40:42]')
        self.assertEqual(b, 'http://server.edu/grid-data/temp2.dat')

        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat.dods?g[20:21][40:42]')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat')
    def test_ref_urls(self):
        # From DAP2 spec, Examples section
        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/data/temp.dat.dds')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/data/temp.dat')

        # DAS version
        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/data/temp.dat.das')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/data/temp.dat')

        # DODS
        b = base_dap_url('http://server.edu/cgi-bin/nph-dods/data/temp.dat.dods')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/data/temp.dat')
示例#5
0
    def test_pydap_urls(self):
        # Variable access, generated by pydap web interface
        b = base_dap_url(
            'http://amoeba.ucsd.edu:8001/glacier.nc.ascii?var232%5B0:1:0%5D%5B0:1:0%5D%5B0:1:601%5D%5B0:1:401%5D&'
        )
        self.assertEqual(b, 'http://amoeba.ucsd.edu:8001/glacier.nc')

        # Same thing, no port number
        b = base_dap_url(
            'http://amoeba.ucsd.edu/glacier.nc.ascii?var232%5B0:1:0%5D%5B0:1:0%5D%5B0:1:601%5D%5B0:1:401%5D&'
        )
        self.assertEqual(b, 'http://amoeba.ucsd.edu/glacier.nc')
示例#6
0
    def test_sequences(self):
        # Also from the DAP2 spec examples section
        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat.dds?xval<15'
        )
        self.assertEqual(
            b, 'http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat')

        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat.dods?xval<15'
        )
        self.assertEqual(
            b, 'http://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat')
示例#7
0
    def test_ref_urls(self):
        # From DAP2 spec, Examples section
        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/data/temp.dat.dds')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/data/temp.dat')

        # DAS version
        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/data/temp.dat.das')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/data/temp.dat')

        # DODS
        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/data/temp.dat.dods')
        self.assertEqual(b, 'http://server.edu/cgi-bin/nph-dods/data/temp.dat')
示例#8
0
    def test_variable_access(self):
        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat.dds?g[20:21][40:42]'
        )
        self.assertEqual(
            b, 'http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat')

        b = base_dap_url(
            'http://server.edu/grid-data/temp2.dat.das?grid[20:21][40:42]')
        self.assertEqual(b, 'http://server.edu/grid-data/temp2.dat')

        b = base_dap_url(
            'http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat.dods?g[20:21][40:42]'
        )
        self.assertEqual(
            b, 'http://server.edu/cgi-bin/nph-dods/grid-data/temp2.dat')
示例#9
0
    def _get_dataset_no_xmit(self, source_url):
        """
        The core of the fetcher: function to grab an entire DAP dataset and
        return it as a dictionary.
        @note dods is base64-encoded!
        """
        base_url = base_dap_url(source_url)
        das_url = base_url + '.das'
        dds_url = base_url + '.dds'
        dods_url = base_url + '.dods'

        logging.debug('Starting fetch of "%s"' % base_url)
        try:
            das = self.get_page(das_url)
            dds = self.get_page(dds_url)
            dods = self.get_page(dods_url)
        except ValueError, ve:
            logging.exception('Error on fetch of ' + base_url)
            raise ve
示例#10
0
    def _get_dataset_no_xmit(self, source_url):
        """
        The core of the fetcher: function to grab an entire DAP dataset and
        return it as a dictionary.
        @note dods is base64-encoded!
        """
        base_url = base_dap_url(source_url)
        das_url = base_url + '.das'
        dds_url = base_url + '.dds'
        dods_url = base_url + '.dods'

        logging.debug('Starting fetch of "%s"' % base_url)
        try:
            das = self.get_page(das_url)
            dds = self.get_page(dds_url)
            dods = self.get_page(dods_url)
        except ValueError, ve:
            logging.exception('Error on fetch of ' + base_url)
            raise ve
 def test_fu(self):
     b = base_dap_url('http://foo.example.com/ds.nc')
     self.assertEqual(b, 'http://foo.example.com/ds.nc')
 def test_numeric_hostname(self):
     # Most-basic DAP URL, not compressible
     b = base_dap_url('http://127.0.0.1:8001/etopo120.cdf')
     self.assertEqual(b, 'http://127.0.0.1:8001/etopo120.cdf')
 def test_numeric_hostname_no_dap(self):
     b = base_dap_url('http://137.110.112.49:8001/')
     self.assertEqual(b, 'http://137.110.112.49:8001/')
示例#14
0
 def test_numeric_hostname_no_dap(self):
     b = base_dap_url('http://137.110.112.49:8001/')
     self.assertEqual(b, 'http://137.110.112.49:8001/')
示例#15
0
 def test_numeric_hostname(self):
     # Most-basic DAP URL, not compressible
     b = base_dap_url('http://127.0.0.1:8001/etopo120.cdf')
     self.assertEqual(b, 'http://127.0.0.1:8001/etopo120.cdf')
    def test_bad_urls(self):
        b = base_dap_url('ftp://is.not.valid/foo.nc')
        self.assertEqual(b, None)

        b = base_dap_url('webdav://is.no.good/either.cdf')
        self.assertEqual(b, None)
示例#17
0
 def test_fu(self):
     b = base_dap_url('http://foo.example.com/ds.nc')
     self.assertEqual(b, 'http://foo.example.com/ds.nc')
示例#18
0
 def test_https(self):
     b = base_dap_url(
         'https://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat.dods?xval<15'
     )
     self.assertEqual(
         b, 'https://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat')
示例#19
0
    def test_bad_urls(self):
        b = base_dap_url('ftp://is.not.valid/foo.nc')
        self.assertEqual(b, None)

        b = base_dap_url('webdav://is.no.good/either.cdf')
        self.assertEqual(b, None)
 def test_https(self):
     b = base_dap_url('https://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat.dods?xval<15')
     self.assertEqual(b, 'https://server.edu/cgi-bin/nph-dods/seq-data/temp3.dat')