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: ...@@ -108,6 +108,24 @@ def append_meta(hdulist: fits.HDUList, **kwargs) -> fits.HDUList:
return 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: def verify_checksum(file_path) -> bool:
""" """
Verify a .fits file via checksum. Verify a .fits file via checksum.
......
...@@ -20,6 +20,7 @@ from csst_common.io import ( ...@@ -20,6 +20,7 @@ from csst_common.io import (
get_proc_info, get_proc_info,
generate_meta, generate_meta,
append_meta, append_meta,
extract_meta,
) )
...@@ -139,8 +140,8 @@ class TestFitsHeaderOps(unittest.TestCase): ...@@ -139,8 +140,8 @@ class TestFitsHeaderOps(unittest.TestCase):
generate_meta(obs_id=1) generate_meta(obs_id=1)
def test_append_meta(self): def test_append_meta(self):
hdulist = fits.HDUList() hdulist = fits.HDUList([fits.PrimaryHDU()])
hdulist.append(fits.PrimaryHDU())
hdulist = append_meta(hdulist, obs_id="123456") hdulist = append_meta(hdulist, obs_id="123456")
self.assertIn("OBS_ID", hdulist[0].header) self.assertIn("META", set(hdulist[0].header.keys()))
self.assertEqual(hdulist[0].header["OBS_ID"], "123456") 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