Skip to content

Commit

Permalink
Merge pull request #325 from djhoese/bugfix-167
Browse files Browse the repository at this point in the history
Fix exception when Scene is given reader and base_dir
  • Loading branch information
djhoese authored Jun 14, 2018
2 parents b64eafe + 5526fbb commit 373b80a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
6 changes: 6 additions & 0 deletions satpy/readers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -553,11 +553,17 @@ def load_readers(filenames=None, reader=None, reader_kwargs=None,
# filenames is a dictionary of reader_name -> filenames
reader = list(filenames.keys())
remaining_filenames = set(f for fl in filenames.values() for f in fl)
elif reader and isinstance(filenames, dict):
# filenames is a dictionary of reader_name -> filenames
# but they only want one of the readers
filenames = filenames[reader]
remaining_filenames = set(filenames or [])
else:
remaining_filenames = set(filenames or [])

for idx, reader_configs in enumerate(configs_for_reader(reader, ppp_config_dir)):
if isinstance(filenames, dict):
print(idx, reader_configs, reader)
readers_files = set(filenames[reader[idx]])
else:
readers_files = remaining_filenames
Expand Down
14 changes: 14 additions & 0 deletions satpy/tests/test_readers.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,20 @@ def test_filenames_as_dict(self):
ri = load_readers(filenames=filenames)
self.assertListEqual(list(ri.keys()), ['viirs_sdr'])

def test_filenames_as_dict_with_reader(self):
"""Test loading from a filenames dict with a single reader specified.
This can happen in the deprecated Scene behavior of passing a reader
and a base_dir.
"""
from satpy.readers import load_readers
filenames = {
'viirs_sdr': ['SVI01_npp_d20120225_t1801245_e1802487_b01708_c20120226002130255476_noaa_ops.h5'],
}
ri = load_readers(reader='viirs_sdr', filenames=filenames)
self.assertListEqual(list(ri.keys()), ['viirs_sdr'])


class TestFindFilesAndReaders(unittest.TestCase):
def setUp(self):
Expand Down

0 comments on commit 373b80a

Please sign in to comment.