How to use the siphon.http_util.session_manager.urlopen function in siphon

To help you get started, we’ve selected a few siphon examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Unidata / siphon / siphon / catalog.py View on Github external
def resolve_url(self, catalog_url):
        """Resolve the url of the dataset when reading latest.xml.

        Parameters
        ----------
        catalog_url : str
            The catalog url to be resolved

        """
        if catalog_url != '':
            resolver_base = catalog_url.split('catalog.xml')[0]
            resolver_url = resolver_base + self.url_path
            resolver_xml = session_manager.urlopen(resolver_url)
            tree = ET.parse(resolver_xml)
            root = tree.getroot()
            if 'name' in root.attrib:
                self.catalog_name = root.attrib['name']
            else:
                self.catalog_name = 'No name found'
            resolved_url = ''
            found = False
            for child in root.iter():
                if not found:
                    tag_type = child.tag.split('}')[-1]
                    if tag_type == 'dataset':
                        if 'urlPath' in child.attrib:
                            ds = Dataset(child)
                            resolved_url = ds.url_path
                            found = True
github Unidata / siphon / siphon / catalog.py View on Github external
try:
                    import xarray as xr
                    provider = xr.open_dataset
                except ImportError:
                    raise ImportError('xarray to be installed if `use_xarray` is True.')
            else:
                try:
                    from netCDF4 import Dataset as NC4Dataset
                    provider = NC4Dataset
                except ImportError:
                    raise ImportError('OPENDAP access needs netCDF4-python to be installed.')
        elif service in self.ncss_service_names:
            from .ncss import NCSS
            provider = NCSS
        elif service == 'HTTPServer':
            provider = session_manager.urlopen
        else:
            raise ValueError(service + ' is not an access method supported by Siphon')

        try:
            return provider(self.access_urls[service])
        except KeyError:
            raise ValueError(service + ' is not available for this dataset')