Commit b217db2c authored by Wei Shoulin's avatar Wei Shoulin
Browse files

feat(plan): 添加计划和0级数据统计功能

- 新增 count_plan_level0 函数,用于统计编排和0级数据数量
- 更新 test_plan.py,添加 count_plan_level0 的单元测试
- 修改 test_level0.py,调整 find 函数的调用方式
parent 826ec33b
Pipeline #9033 canceled with stages
in 0 seconds
......@@ -114,4 +114,30 @@ def new(data: dict) -> Result:
Result: 成功后,Result.data为写入记录,失败message为失败原因。
"""
return request.post("/api/plan/new", data)
\ No newline at end of file
return request.post("/api/plan/new", data)
def count_plan_level0(
instrument: Literal['MSC', 'IFS', 'MCI', 'HSTDM', 'CPIC'],
obs_group: str,
obs_type: str,
dataset: str) -> Result:
"""
统计编排和0级数据数量
Args:
instrument (Literal['MSC', 'IFS', 'MCI', 'HSTDM', 'CPIC']): 后端设备,如'MSC', 'IFS'.
obs_group (str): 观测组.
obs_type (str): 观测类型,如主巡天宽场、TOO观测、定标星场等等.
dataset (str): 数据集名称.
Returns:
Result: 操作的结果对象,包含操作是否成功以及相关的错误信息,成功返回数据对象,如:
{'code': 200, 'message': '', 'data': {'plan_count': 30, 'level0_count': 30}}
"""
params = {
'obs_group': obs_group,
'instrument': instrument,
'obs_type': obs_type,
'dataset': dataset,
}
return request.post("/api/plan/count", params)
\ No newline at end of file
......@@ -18,7 +18,7 @@ class Level0TestCase(unittest.TestCase):
radius = 1)
print(f"2操作执行时间: {time.time() - start_time} 秒, 数据量:{result['total_count']}")
start_time = time.time()
result = level0.find(file_name="CSST_MSC_MS_SCI_20240609181116_20240609181347_101091001")
result = level0.find(instrument='MSC', file_name="CSST_MSC_MS_SCI_20240609181116_20240609181347_10109100157991_27_L0_V01.fits")
print(f"3操作执行时间: {time.time() - start_time} 秒, 数据量:{result['total_count']}")
self.assertEqual(result.code, 200, "error code: " + result.message)
self.assertIsNotNone(result.data, "error message: " + result.message)
......
......@@ -41,4 +41,14 @@ class PlanTestCase(unittest.TestCase):
data = {'id':10399, 'opid':'1', 'instrument':'MSC', 'obs_type': 'SCIE', 'obs_id': '1'}
result = plan.new(data = data)
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_count_plan_level0(self):
result = plan.count_plan_level0(
instrument = 'MSC',
obs_group = '1',
obs_type = 'SCIE',
dataset = 'default'
)
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment