diff --git a/csst_dfs_api/facility/level1.py b/csst_dfs_api/facility/level1.py index 98ecb1a3c91ffdff3434b74d0e99a1dd7f18788b..6ad58f657c9beac880fd3dd1174ac4317ce16c68 100644 --- a/csst_dfs_api/facility/level1.py +++ b/csst_dfs_api/facility/level1.py @@ -20,6 +20,9 @@ class Level1DataApi(object): qc1_status : [int], prc_status : [int], filename: [str] + ra_cen: float = None, + dec_cen: float = None, + radius_cen: float = None, limit: limits returns the number of records,default 0:no-limit :returns: csst_dfs_common.models.Result @@ -35,6 +38,17 @@ class Level1DataApi(object): ''' return self.stub.find_by_brick_ids(**kwargs) + def sls_find_by_qc1_status(self, **kwargs): + ''' retrieve level1 records from database + + :param kwargs: Parameter dictionary, key items support: + qc1_status : [int], + limit: limits returns the number of records,default 1 + + :returns: csst_dfs_common.models.Result + ''' + return self.stub.sls_find_by_qc1_status(**kwargs) + def get(self, **kwargs): ''' fetch a record from database diff --git a/csst_dfs_api/functional/__init__.py b/csst_dfs_api/functional/__init__.py index 793a1fe78cf94b509cb0f543dd3101444009d34b..90f2544d67ff660716aac709df5a3b475472e2e3 100644 --- a/csst_dfs_api/functional/__init__.py +++ b/csst_dfs_api/functional/__init__.py @@ -1,14 +1,14 @@ -from ..facility import ObservationApi, Level0DataApi +from ..facility import ObservationApi, Level0DataApi, Level1DataApi from csst_dfs_commons.models import Result def find_observation( - module_id: str = None, - obs_type: str = None, - obs_time : tuple = (None, None), - qc0_status : int = -1, - prc_status : int = -1) -> Result: - kwarg = locals() - return ObservationApi().find(**kwarg) + module_id: str = None, + obs_type: str = None, + obs_time : tuple = (None, None), + qc0_status : int = -1, + prc_status : int = -1) -> Result: + kwarg = locals() + return ObservationApi().find(**kwarg) def find_level0(obs_id: str = '', module_id: str = '', @@ -23,6 +23,25 @@ def find_level0(obs_id: str = '', dec_obj: float = None, radius: float = None, object_name: str = None, - version: str = None) -> Result: + version: str = None, + limit: int = 0) -> Result: + kwarg = locals() + return Level0DataApi().find(**kwarg) + +def find_level1(level0_id: str = '', + module_id: str = '', + data_type: str = '', + create_time : tuple = (None, None), + qc1_status : int = None, + prc_status : int = None, + file_name: str = '', + ra_cen: float = None, + dec_cen: float = None, + radius_cen: float = None, + limit: int = 0) -> Result: + kwarg = locals() + return Level1DataApi().find(**kwarg) + +def find_sls_by_qc1_status(qc1_status: int = -1, limit: int = 1) -> Result: kwarg = locals() - return Level0DataApi().find(**kwarg) \ No newline at end of file + return Level1DataApi().sls_find_by_qc1_status(**kwarg) \ No newline at end of file diff --git a/tests/sls/test_sls_level1.py b/tests/sls/test_sls_level1.py new file mode 100644 index 0000000000000000000000000000000000000000..05191edf612f44ae02a9a653de296e39c7199d7e --- /dev/null +++ b/tests/sls/test_sls_level1.py @@ -0,0 +1,22 @@ +import os +import unittest +from astropy.io import fits + +from csst_dfs_api.facility.level1 import Level1DataApi + +class SLSLevel1DataTestCase(unittest.TestCase): + + def setUp(self): + self.api = Level1DataApi() + + def test_find_by_qc1_status(self): + recs = self.api.sls_find_by_qc1_status(qc1_status=-1) + print('find_by_qc1_status:', recs) + + def test_find(self): + recs = self.api.find( + ra_cen = 1, + dec_cen =2, + radius_cen = 1 + ) + print('find:', recs)