Loading csst_common/io.py +12 −12 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ REQUIRED_KEYS_IN_META = dict( ) def generate_meta(**kwargs) -> fits.Header: def generate_meta(**kwargs) -> dict: """ Generate metadata. Loading Loading @@ -101,16 +101,10 @@ def generate_meta(**kwargs) -> fits.Header: meta["build"] = os.getenv("BUILD", default="__unset__") meta["prc_date"] = now() meta["data_uuid"] = str(uuid.uuid4()) # convert meta to fits header meta_card = fits.Card( keyword="META", value=json.dumps(meta, separators=(",", ":"), ensure_ascii=False), ) meta_header = reformat_header(fits.Header(cards=[meta_card]), comment="METADATA") return meta_header return meta def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList: def append_meta(hdulist: fits.HDUList, meta: dict) -> fits.HDUList: """ Append meta to hdulist. Loading @@ -118,8 +112,8 @@ def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList: ---------- hdulist : fits.HDUList HDUList. kwargs : Any Meta data. meta : dict Meta data dict. Returns ------- Loading @@ -127,7 +121,13 @@ def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList: HDUList with meta. """ meta_header = generate_meta(**kwargs) # convert meta to fits header meta_card = fits.Card( keyword="META", value=json.dumps(meta, separators=(",", ":"), ensure_ascii=False), ) meta_header = reformat_header(fits.Header(cards=[meta_card]), comment="METADATA") # append meta_header to hdulist[0].header hdulist[0].header = append_header(hdulist[0].header, meta_header) return hdulist Loading tests/test_io.py +3 −2 Original line number Diff line number Diff line Loading @@ -134,11 +134,12 @@ class TestFitsHeaderOps(unittest.TestCase): def test_generate_meta(self): h = generate_meta() self.assertIsInstance(h, fits.Header) self.assertIsInstance(h, dict) def test_append_meta(self): hdulist = fits.HDUList([fits.PrimaryHDU()]) hdulist = append_meta(hdulist, obs_id="123456") meta = generate_meta(obs_id="123456") hdulist = append_meta(hdulist, meta) self.assertIn("META", set(hdulist[0].header.keys())) meta = extract_meta(hdulist) self.assertEqual(meta["obs_id"], "123456") Loading
csst_common/io.py +12 −12 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ REQUIRED_KEYS_IN_META = dict( ) def generate_meta(**kwargs) -> fits.Header: def generate_meta(**kwargs) -> dict: """ Generate metadata. Loading Loading @@ -101,16 +101,10 @@ def generate_meta(**kwargs) -> fits.Header: meta["build"] = os.getenv("BUILD", default="__unset__") meta["prc_date"] = now() meta["data_uuid"] = str(uuid.uuid4()) # convert meta to fits header meta_card = fits.Card( keyword="META", value=json.dumps(meta, separators=(",", ":"), ensure_ascii=False), ) meta_header = reformat_header(fits.Header(cards=[meta_card]), comment="METADATA") return meta_header return meta def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList: def append_meta(hdulist: fits.HDUList, meta: dict) -> fits.HDUList: """ Append meta to hdulist. Loading @@ -118,8 +112,8 @@ def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList: ---------- hdulist : fits.HDUList HDUList. kwargs : Any Meta data. meta : dict Meta data dict. Returns ------- Loading @@ -127,7 +121,13 @@ def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList: HDUList with meta. """ meta_header = generate_meta(**kwargs) # convert meta to fits header meta_card = fits.Card( keyword="META", value=json.dumps(meta, separators=(",", ":"), ensure_ascii=False), ) meta_header = reformat_header(fits.Header(cards=[meta_card]), comment="METADATA") # append meta_header to hdulist[0].header hdulist[0].header = append_header(hdulist[0].header, meta_header) return hdulist Loading
tests/test_io.py +3 −2 Original line number Diff line number Diff line Loading @@ -134,11 +134,12 @@ class TestFitsHeaderOps(unittest.TestCase): def test_generate_meta(self): h = generate_meta() self.assertIsInstance(h, fits.Header) self.assertIsInstance(h, dict) def test_append_meta(self): hdulist = fits.HDUList([fits.PrimaryHDU()]) hdulist = append_meta(hdulist, obs_id="123456") meta = generate_meta(obs_id="123456") hdulist = append_meta(hdulist, meta) self.assertIn("META", set(hdulist[0].header.keys())) meta = extract_meta(hdulist) self.assertEqual(meta["obs_id"], "123456")