def test_extract_values_full_match(self): """Test that a string must completely match.""" fmt = '{orbit:05d}' val = regex_formatter.extract_values(fmt, '12345') self.assertEqual(val, {'orbit': '12345'}) self.assertRaises(ValueError, regex_formatter.extract_values, fmt, '12345abc') val = regex_formatter.extract_values(fmt, '12345abc', full_match=False) self.assertEqual(val, {'orbit': '12345'})
def test_extract_values_everything(self): fmt = "{everything}" result = regex_formatter.extract_values(fmt, self.string) self.assertDictEqual(result, { 'everything': '/somedir/otherdir/hrpt_noaa16_20140210_1004_69022.l1b' })
def test_extract_values_ss2pair_end(self): fmt = "{directory}/hrpt_{platform:s}{platnum:2s}" result = regex_formatter.extract_values( fmt, "/somedir/otherdir/hrpt_noaa16") self.assertDictEqual(result, { 'directory': '/somedir/otherdir', 'platform': 'noaa', 'platnum': '16' })
def test_extract_values_sdatetimepair_end(self): fmt = "{directory}/hrpt_{platform:s}{date:%Y%m%d}" result = regex_formatter.extract_values( fmt, "/somedir/otherdir/hrpt_noaa20140212") self.assertDictEqual( result, { 'directory': '/somedir/otherdir', 'platform': 'noaa', 'date': '20140212' })
def test_extract_values_ss2pair(self): fmt = "{directory}/hrpt_{platform:s}{platnum:2s}_{time:%Y%m%d_%H%M}_{orbit:d}" result = regex_formatter.extract_values(fmt, self.string4) self.assertDictEqual( result, { 'directory': '/somedir/otherdir', 'platform': 'noaa', 'platnum': '16', 'time': '20140210_1004', 'orbit': '69022' })
def test_extract_values_padding2(self): fmt = "/somedir/{directory}/hrpt_{platform:4s}{platnum:2s}_{time:%Y%m%d_%H%M}_{orbit:0>5d}.l1b" # parsedef = ['/somedir/', {'directory': None}, '/hrpt_', # {'platform': '4s'}, {'platnum': '2s'}, # '_', {'time': '%Y%m%d_%H%M'}, '_', # {'orbit': '0>5d'}, '.l1b'] result = regex_formatter.extract_values(fmt, self.string2) # Assert self.assertDictEqual(result, {'directory': 'otherdir', 'platform': 'noaa', 'platnum': '16', 'time': '20140210_1004', 'orbit': '00022'})