|
65 | 65 | from pygeoapi import l10n |
66 | 66 | from pygeoapi.models import config as config_models |
67 | 67 | from pygeoapi.plugin import load_plugin, PLUGINS |
68 | | -from pygeoapi.provider.base import ProviderTypeError |
69 | | - |
| 68 | +from pygeoapi.provider import get_provider_default |
70 | 69 |
|
71 | 70 | LOGGER = logging.getLogger(__name__) |
72 | 71 |
|
@@ -527,61 +526,6 @@ def filter_dict_by_key_value(dict_: dict, key: str, value: str) -> dict: |
527 | 526 | return {k: v for (k, v) in dict_.items() if v[key] == value} |
528 | 527 |
|
529 | 528 |
|
530 | | -def filter_providers_by_type(providers: list, type: str) -> dict: |
531 | | - """ |
532 | | - helper function to filter a list of providers by type |
533 | | -
|
534 | | - :param providers: ``list`` |
535 | | - :param type: str |
536 | | -
|
537 | | - :returns: filtered ``dict`` provider |
538 | | - """ |
539 | | - |
540 | | - providers_ = {provider['type']: provider for provider in providers} |
541 | | - return providers_.get(type) |
542 | | - |
543 | | - |
544 | | -def get_provider_by_type(providers: list, provider_type: str) -> dict: |
545 | | - """ |
546 | | - helper function to load a provider by a provider type |
547 | | -
|
548 | | - :param providers: ``list`` of providers |
549 | | - :param provider_type: type of provider (e.g. feature) |
550 | | -
|
551 | | - :returns: provider based on type |
552 | | - """ |
553 | | - |
554 | | - LOGGER.debug(f'Searching for provider type {provider_type}') |
555 | | - try: |
556 | | - p = (next(d for i, d in enumerate(providers) |
557 | | - if d['type'] == provider_type)) |
558 | | - except (RuntimeError, StopIteration): |
559 | | - raise ProviderTypeError('Invalid provider type requested') |
560 | | - |
561 | | - return p |
562 | | - |
563 | | - |
564 | | -def get_provider_default(providers: list) -> dict: |
565 | | - """ |
566 | | - helper function to get a resource's default provider |
567 | | -
|
568 | | - :param providers: ``list`` of providers |
569 | | -
|
570 | | - :returns: filtered ``dict`` |
571 | | - """ |
572 | | - |
573 | | - try: |
574 | | - default = (next(d for i, d in enumerate(providers) if 'default' in d |
575 | | - and d['default'])) |
576 | | - LOGGER.debug('found default provider type') |
577 | | - except StopIteration: |
578 | | - LOGGER.debug('no default provider type. Returning first provider') |
579 | | - default = providers[0] |
580 | | - |
581 | | - LOGGER.debug(f"Default provider: {default['type']}") |
582 | | - return default |
583 | | - |
584 | | - |
585 | 529 | class ProcessExecutionMode(Enum): |
586 | 530 | sync_execute = 'sync-execute' |
587 | 531 | async_execute = 'async-execute' |
|
0 commit comments