Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
csst-pipeline
csst_common
Commits
5d32174f
Commit
5d32174f
authored
Aug 05, 2025
by
BO ZHANG
🏀
Browse files
add extract_meta
parent
396f14f7
Pipeline
#10168
passed with stage
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
csst_common/io.py
View file @
5d32174f
...
...
@@ -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.
...
...
tests/test_fits_header_ops.py
View file @
5d32174f
...
...
@@ -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"
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment