Ejemplo n.º 1
0
    def test_normalize(self):
        dataset_flagged_specifier = TypeSpecifier(name='dataset',
                                                  flags={'cube'})
        self.assertEqual(TypeSpecifier.normalize(dataset_flagged_specifier),
                         dataset_flagged_specifier)
        self.assertEqual(TypeSpecifier.normalize('dataset[cube]'),
                         dataset_flagged_specifier)

        dataset_specifier = TypeSpecifier(name='dataset')
        self.assertEqual(TypeSpecifier.normalize(dataset_specifier),
                         dataset_specifier)
        self.assertEqual(TypeSpecifier.normalize('dataset'), dataset_specifier)
Ejemplo n.º 2
0
 def _predicate(extension: Extension) -> bool:
     extension_parts = extension.name.split(':', maxsplit=4)
     if len(extension_parts) < 3:
         raise DataStoreError(
             f'Illegal data opener/writer extension name "{extension.name}"'
         )
     extension_type = TypeSpecifier.parse(extension_parts[0])
     type_ok = type_specifier is None or extension_type == TYPE_SPECIFIER_ANY or \
               extension_type == TypeSpecifier.normalize(type_specifier)
     format_ok = format_id is None or extension_parts[
         1] == '*' or extension_parts[1] == format_id
     storage_ok = storage_id is None or extension_parts[
         2] == '*' or extension_parts[2] == storage_id
     return type_ok and format_ok and storage_ok
Ejemplo n.º 3
0
 def __init__(self,
              data_id: str,
              type_specifier: Union[str, TypeSpecifier],
              crs: str = None,
              bbox: Tuple[float, float, float, float] = None,
              spatial_res: float = None,
              time_range: Tuple[Optional[str], Optional[str]] = None,
              time_period: str = None,
              open_params_schema: JsonObjectSchema = None):
     assert_given(data_id, 'data_id')
     self._assert_valid_type_specifier(type_specifier)
     self.data_id = data_id
     self.type_specifier = TypeSpecifier.normalize(type_specifier)
     self.crs = crs
     self.bbox = tuple(bbox) if bbox else None
     self.spatial_res = spatial_res
     self.time_range = tuple(time_range) if time_range else None
     self.time_period = time_period
     self.open_params_schema = open_params_schema