Commit d3678fb3 authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

add DFS utils

parent f263c7a0
Loading
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -9,8 +9,9 @@ Modified-History:
    2023-07-11, Bo Zhang, updated DFS
    2023-12-08, Bo Zhang, tweaks
    2023-12-20, Bo Zhang, do nothing in DFS.__init__()
    2023-12-28, Bo Zhang, add DFS.rec_to_table and DFS.rec_to_dlist
"""

from astropy.table import Table
from csst_dfs_api.common.catalog import CatalogApi
from csst_dfs_api.facility import (
    Level0DataApi,
@@ -48,6 +49,10 @@ class DFS:
    def L2DataApi(self):
        return Level2DataApi()

    @property
    def L2TypeApi(self):
        return Level2TypeApi()

    @property
    def OtherDataApi(self):
        return OtherDataApi()
@@ -55,3 +60,16 @@ class DFS:
    @property
    def CatApi(self):
        return CatalogApi()

    @staticmethod
    def rec_to_table(rec):
        assert rec["code"] == 0, rec
        data = list(zip(*rec["data"]))
        colnames = rec["columns"]
        return Table(data=data, names=colnames)

    @staticmethod
    def rec_to_dlist(rec):
        assert rec["code"] == 0, rec
        colnames = rec["columns"]
        return [dict(zip(colnames, _)) for _ in rec["data"]]