How to use the siphon.catalog.CaseInsensitiveDict 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 make_access_urls(self, catalog_url, all_services, metadata=None):
        """Make fully qualified urls for the access methods enabled on the dataset.

        Parameters
        ----------
        catalog_url : str
            The top level server url
        all_services : List[SimpleService]
            list of :class:`SimpleService` objects associated with the dataset
        metadata : dict
            Metadata from the :class:`TDSCatalog`

        """
        all_service_dict = CaseInsensitiveDict({})
        for service in all_services:
            all_service_dict[service.name] = service
            if isinstance(service, CompoundService):
                for subservice in service.services:
                    all_service_dict[subservice.name] = subservice

        service_name = metadata.get('serviceName', None)

        access_urls = CaseInsensitiveDict({})
        server_url = _find_base_tds_url(catalog_url)

        # process access urls for datasets that reference top
        # level catalog services (individual or compound service
        # types).
        if service_name in all_service_dict:
            service = all_service_dict[service_name]
github Unidata / siphon / siphon / catalog.py View on Github external
def __eq__(self, other):
        """Return true if other is case-insensitive equal to self."""
        return super(CaseInsensitiveDict, self).__eq__(CaseInsensitiveDict(other))
github Unidata / siphon / siphon / catalog.py View on Github external
all_services : List[SimpleService]
            list of :class:`SimpleService` objects associated with the dataset
        metadata : dict
            Metadata from the :class:`TDSCatalog`

        """
        all_service_dict = CaseInsensitiveDict({})
        for service in all_services:
            all_service_dict[service.name] = service
            if isinstance(service, CompoundService):
                for subservice in service.services:
                    all_service_dict[subservice.name] = subservice

        service_name = metadata.get('serviceName', None)

        access_urls = CaseInsensitiveDict({})
        server_url = _find_base_tds_url(catalog_url)

        # process access urls for datasets that reference top
        # level catalog services (individual or compound service
        # types).
        if service_name in all_service_dict:
            service = all_service_dict[service_name]
            if service.service_type != 'Resolver':
                # if service is a CompoundService, create access url
                # for each SimpleService
                if isinstance(service, CompoundService):
                    for subservice in service.services:
                        server_base = urljoin(server_url, subservice.base)
                        access_urls[subservice.service_type] = urljoin(server_base,
                                                                       self.url_path)
                else:
github Unidata / siphon / siphon / catalog.py View on Github external
def __contains__(self, key):
        """Return true if key set includes case-insensitive ``key``."""
        return super(CaseInsensitiveDict, self).__contains__(CaseInsensitiveStr(key))