From 5738540b5780c05474070b919b88f01ad5a43bf7 Mon Sep 17 00:00:00 2001 From: shoulinwei Date: Sat, 10 Sep 2022 00:01:33 +0800 Subject: [PATCH] cpic and bug --- csst_dfs_commons/models/cpic.py | 77 +++++++++++++++++++++++++++++++++ csst_dfs_commons/utils/fits.py | 5 ++- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 csst_dfs_commons/models/cpic.py diff --git a/csst_dfs_commons/models/cpic.py b/csst_dfs_commons/models/cpic.py new file mode 100644 index 0000000..9706af4 --- /dev/null +++ b/csst_dfs_commons/models/cpic.py @@ -0,0 +1,77 @@ +import dataclasses +from typing import Dict +from .common import BaseModel, default_field + +@dataclasses.dataclass +class Level0PrcRecord(BaseModel): + id: int = 0 + level0_id: str = "" + pipeline_id: str = "" + prc_module: str = "" + params_file_path: str="" + prc_status: int = 0 + prc_time: str="" + result_file_path: str="" + +@dataclasses.dataclass +class Level0Record(BaseModel): + id: int = 0 + level0_id: str = "" + obs_id: str = "" + detector_no: str = "" + obs_type: str = "" + obs_time: str="" + exp_time: float = 0 + detector_status_id: int = 0 + filename: str="" + file_path: str="" + qc0_status: int = 0 + qc0_time: str="" + prc_status: int = 0 + prc_time: str="" + create_time: str="" + +@dataclasses.dataclass +class CalMergeRecord(BaseModel): + id: int = 0 + cal_id: str = "" + detector_no: str = "" + ref_type: str = "" + obs_time: str="" + exp_time: float = 0 + filename: str="" + file_path: str="" + qc1_status: int = 0 + qc1_time: str="" + prc_status: int = 0 + prc_time: str="" + prc_time: str="" + create_time: str="" + level0_ids: list = dataclasses.field(default_factory=list) + +@dataclasses.dataclass +class Level1Record(BaseModel): + id: int = 0 + level0_id : str = "" + data_type: str="" + prc_params: str="" + filename : str="" + file_path: str="" + qc1_status: int = 0 + qc1_time: str="" + prc_status: int = 0 + prc_time: str="" + create_time: str="" + pipeline_id: str="" + refs: Dict[str,int] = default_field({}) + +@dataclasses.dataclass +class Level1PrcRecord(BaseModel): + id: int = 0 + level1_id: int = 0 + pipeline_id: str = "" + prc_module: str = "" + params_file_path: str="" + prc_status: int = 0 + prc_time: str="" + result_file_path: str="" diff --git a/csst_dfs_commons/utils/fits.py b/csst_dfs_commons/utils/fits.py index 9bdd256..6f0ab60 100644 --- a/csst_dfs_commons/utils/fits.py +++ b/csst_dfs_commons/utils/fits.py @@ -1,5 +1,8 @@ def get_header_value(key: str, header, default_value = None): try: - return header[key] + v = header[key] + if type(v) == str: + return v.strip() + return v except Exception as e: return default_value \ No newline at end of file -- GitLab