示例#1
0
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()
示例#2
0
 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))
示例#3
0
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
示例#4
0
 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))
示例#5
0
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)
示例#6
0
 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
示例#7
0
 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'))