diff --git a/csst_dfs_commons/convert/date_utils.py b/csst_dfs_commons/convert/date_utils.py index 70ca3c897fbdb6e04c929216fa0700ed04736d32..dea4a79ed3843caa5d29adbde5d63b02719af281 100644 --- a/csst_dfs_commons/convert/date_utils.py +++ b/csst_dfs_commons/convert/date_utils.py @@ -1,4 +1,5 @@ from datetime import datetime +import time def format_datetime(dt): return dt.strftime('%Y-%m-%d %H:%M:%S') @@ -7,4 +8,10 @@ def format_date(dt): return dt.strftime('%Y-%m-%d') def format_sql_datetime(dt): - return str(dt) if isinstance(dt, datetime) else dt \ No newline at end of file + return str(dt) if isinstance(dt, datetime) else dt + +def format_time_ms(float_time): + local_time = time.localtime(float_time) + data_head = time.strftime("%Y-%m-%d %H:%M:%S", local_time) + data_secs = (float_time - int(float_time)) * 1000 + return "%s.%03d" % (data_head, data_secs) \ No newline at end of file diff --git a/csst_dfs_commons/models/ifs.py b/csst_dfs_commons/models/ifs.py index 528cd6b3b5efea3aef19cb6d781faeb9ef7ad9f8..9b6df6edd810825ff2d7bcc84d4ebbebfe54bd38 100644 --- a/csst_dfs_commons/models/ifs.py +++ b/csst_dfs_commons/models/ifs.py @@ -1,4 +1,6 @@ import dataclasses +from email import header +from ensurepip import version from typing import Dict from .common import BaseModel, default_field @@ -13,6 +15,14 @@ class Level0PrcRecord(BaseModel): prc_time: str="" result_file_path: str="" +@dataclasses.dataclass +class Level0HeaderRecord(BaseModel): + id: int = 0 + object_name: str = "" + ra: float = 0 + dec: float = 0 + version: str = "" + @dataclasses.dataclass class Level0Record(BaseModel): id: int = 0 @@ -20,7 +30,6 @@ class Level0Record(BaseModel): obs_id: str = "" detector_no: str = "" obs_type: str = "" - object_name: str = "" obs_time: str="" exp_time: float = 0 detector_status_id: int = 0 diff --git a/csst_dfs_commons/models/mci.py b/csst_dfs_commons/models/mci.py index 562240c5fc633f4dc7b2eeea93f8af032fdeaf61..3e6b7ec90e7b05133f0093e18214dd47ec6f2487 100644 --- a/csst_dfs_commons/models/mci.py +++ b/csst_dfs_commons/models/mci.py @@ -13,6 +13,14 @@ class Level0PrcRecord(BaseModel): prc_time: str="" result_file_path: str="" +@dataclasses.dataclass +class Level0HeaderRecord(BaseModel): + id: int = 0 + object_name: str = "" + ra: float = 0 + dec: float = 0 + version: str = "" + @dataclasses.dataclass class Level0Record(BaseModel): id: int = 0 diff --git a/csst_dfs_commons/models/msc.py b/csst_dfs_commons/models/msc.py index a308624dd5a94bac7e728c0b515cb99b0e2500a2..b3141ad26999c6c15a663bfeac685eed95c1c012 100644 --- a/csst_dfs_commons/models/msc.py +++ b/csst_dfs_commons/models/msc.py @@ -81,9 +81,7 @@ class Level2Record(BaseModel): @dataclasses.dataclass class Level2CatalogRecord(BaseModel): - source_id: int = 0 - obs_id : str = "" - detector_no: str="" + level2_id: int = 0 seq: int = 0 flux_aper: list = dataclasses.field(default_factory=list) fluxerr_aper: list = dataclasses.field(default_factory=list) @@ -238,9 +236,11 @@ class Level2CatalogRecord(BaseModel): disk_theta_world: float = -1 disk_thetaerr_world: float = -1 disk_theta_j2000: float = -1 - obs_time: str = '' - brick_id_8: int = 0 - brick_id_16: int = 0 + NS8HIdx: int = 0 + NS16HIdx: int = 0 + NS32HIdx: int = 0 + NS64HIdx: int = 0 + create_time: str = '' @dataclasses.dataclass class Level1PrcRecord(BaseModel):