Commit 5d32174f authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

add extract_meta

parent 396f14f7
Pipeline #10168 passed with stage
......@@ -108,6 +108,24 @@ def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList:
return hdulist
def extract_meta(hdulist: fits.HDUList) -> dict:
"""
Extract meta from hdulist.
Parameters
----------
hdulist : fits.HDUList
HDUList.
Returns
-------
dict
Meta data.
"""
meta = json.loads(hdulist[0].header["META"])
return meta
def verify_checksum(file_path) -> bool:
"""
Verify a .fits file via checksum.
......
......@@ -20,6 +20,7 @@ from csst_common.io import (
get_proc_info,
generate_meta,
append_meta,
extract_meta,
)
......@@ -139,8 +140,8 @@ class TestFitsHeaderOps(unittest.TestCase):
generate_meta(obs_id=1)
def test_append_meta(self):
hdulist = fits.HDUList()
hdulist.append(fits.PrimaryHDU())
hdulist = fits.HDUList([fits.PrimaryHDU()])
hdulist = append_meta(hdulist, obs_id="123456")
self.assertIn("OBS_ID", hdulist[0].header)
self.assertEqual(hdulist[0].header["OBS_ID"], "123456")
self.assertIn("META", set(hdulist[0].header.keys()))
meta = extract_meta(hdulist)
self.assertEqual(meta["obs_id"], "123456")
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment