def check_satpy(readers=None, writers=None, extras=None): """Check the satpy readers and writers for correct installation. Args: readers (list or None): Limit readers checked to those specified writers (list or None): Limit writers checked to those specified extras (list or None): Limit extras checked to those specified Returns: bool True if all specified features were successfully loaded. """ from satpy.readers import configs_for_reader from satpy.writers import configs_for_writer print('Readers') print('=======') for reader, res in sorted(_check_yaml_configs(configs_for_reader(reader=readers), 'reader').items()): print(reader + ': ', res) print() print('Writers') print('=======') for writer, res in sorted(_check_yaml_configs(configs_for_writer(writer=writers), 'writer').items()): print(writer + ': ', res) print() print('Extras') print('======') module_names = extras if extras is not None else ('cartopy', 'geoviews') for module_name, res in sorted(_check_import(module_names).items()): print(module_name + ': ', res) print()
def test_old_reader_name_mapping(self): """Test that requesting old reader names raises a warning.""" from satpy.readers import configs_for_reader, OLD_READER_NAMES if not OLD_READER_NAMES: return unittest.skip("Skipping deprecated reader tests because " "no deprecated readers.") test_reader = sorted(OLD_READER_NAMES.keys())[0] self.assertRaises(ValueError, list, configs_for_reader(test_reader))
def _find_registerable_files_readers(readers=None): """Load all readers so that files are registered.""" import yaml from satpy.readers import configs_for_reader, load_reader for reader_configs in configs_for_reader(reader=readers): try: load_reader(reader_configs) except (ModuleNotFoundError, yaml.YAMLError): continue
def test_old_reader_name_mapping(self): """Test that requesting old reader names raises a warning.""" import warnings from satpy.readers import configs_for_reader with warnings.catch_warnings(record=True) as w: warnings.simplefilter('always') configs = list(configs_for_reader('hrit_jma'))[0] self.assertIn('ahi_hrit', configs[0]) self.assertNotIn('hrit_jma', configs[0]) self.assertEqual(len(w), 1) self.assertTrue(issubclass(w[0].category, DeprecationWarning))
def check_satpy(): """Check the satpy readers and writers for correct installation.""" from satpy.readers import configs_for_reader from satpy.writers import configs_for_writer print('Readers') print('=======') for reader, res in sorted(check_yaml_configs(configs_for_reader(), 'reader', 5).items()): print(reader + ': ' + res) print() print('Writers') print('=======') for writer, res in sorted(check_yaml_configs(configs_for_writer(), 'writer', 3).items()): print(writer + ': ' + res)
def test_file_patterns_match(self, channel, suffix): """Test that the configured file patterns work.""" from satpy.readers import configs_for_reader, load_reader reader_configs = list(configs_for_reader('abi_l1b'))[0] reader = load_reader(reader_configs) fn1 = ("OR_ABI-L1b-RadM1-M3{}_G16_s20182541300210_e20182541300267" "_c20182541300308{}.nc").format(channel, suffix) loadables = reader.select_files_from_pathnames([fn1]) assert len(loadables) == 1 if not suffix and channel in ["C01", "C02", "C03", "C05"]: fn2 = ("OR_ABI-L1b-RadM1-M3{}_G16_s20182541300210_e20182541300267" "_c20182541300308-000000_0.nc").format(channel) loadables = reader.select_files_from_pathnames([fn2]) assert len(loadables) == 1
def test_old_reader_name_mapping(self): """Test that requesting old reader names raises a warning.""" from satpy.readers import configs_for_reader self.assertRaises(ValueError, list, configs_for_reader('hrit_jma'))