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

bugs

parent b392d9f3
...@@ -199,6 +199,7 @@ class Level2ProducerApi(object): ...@@ -199,6 +199,7 @@ class Level2ProducerApi(object):
''' '''
rec = level2producer_pb2.Level2JobRecord( rec = level2producer_pb2.Level2JobRecord(
id = 0, id = 0,
name = get_parameter(kwargs, "name", ""),
dag = get_parameter(kwargs, "dag", "") dag = get_parameter(kwargs, "dag", "")
) )
req = level2producer_pb2.NewJobReq(record = rec) req = level2producer_pb2.NewJobReq(record = rec)
...@@ -244,9 +245,9 @@ class Level2ProducerApi(object): ...@@ -244,9 +245,9 @@ class Level2ProducerApi(object):
:returns: csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
rec = level2producer_pb2.Level2JobRecord( rec = level2producer_pb2.Level2JobRecord(
id = get_parameter(kwargs, "id", 0), id = get_parameter(kwargs, "id", 0),
name = get_parameter(kwargs, "name", ""),
dag = get_parameter(kwargs, "dag", ""), dag = get_parameter(kwargs, "dag", ""),
status = get_parameter(kwargs, "status", -1) status = get_parameter(kwargs, "status", -1)
) )
......
...@@ -3,6 +3,7 @@ import grpc ...@@ -3,6 +3,7 @@ import grpc
from csst_dfs_commons.models import Result from csst_dfs_commons.models import Result
from csst_dfs_commons.models.common import from_proto_model_list from csst_dfs_commons.models.common import from_proto_model_list
from csst_dfs_commons.models.ifs import Level0Record from csst_dfs_commons.models.ifs import Level0Record
from csst_dfs_commons.models.constants import UPLOAD_CHUNK_SIZE
from csst_dfs_proto.ifs.level0 import level0_pb2, level0_pb2_grpc from csst_dfs_proto.ifs.level0 import level0_pb2, level0_pb2_grpc
...@@ -17,13 +18,18 @@ class Level0DataApi(object): ...@@ -17,13 +18,18 @@ class Level0DataApi(object):
''' retrieve level0 records from database ''' retrieve level0 records from database
parameter kwargs: parameter kwargs:
obs_id: [str] obs_id: [str],
detector_no: [str] detector_no: [str],
obs_type: [str] obs_type: [str],
object_name: [str],
obs_time : (start, end), obs_time : (start, end),
qc0_status : [int], qc0_status : [int],
prc_status : [int], prc_status : [int],
file_name: [str] file_name: [str],
version: [str],
ra: [float],
dec: [float],
radius: [float],
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
return: csst_dfs_common.models.Result return: csst_dfs_common.models.Result
...@@ -38,6 +44,11 @@ class Level0DataApi(object): ...@@ -38,6 +44,11 @@ class Level0DataApi(object):
qc0_status = get_parameter(kwargs, "qc0_status"), qc0_status = get_parameter(kwargs, "qc0_status"),
prc_status = get_parameter(kwargs, "prc_status"), prc_status = get_parameter(kwargs, "prc_status"),
file_name = get_parameter(kwargs, "file_name"), file_name = get_parameter(kwargs, "file_name"),
object_name = get_parameter(kwargs, "object_name"),
version = get_parameter(kwargs, "version"),
ra = get_parameter(kwargs, "ra"),
dec = get_parameter(kwargs, "dec"),
radius = get_parameter(kwargs, "radius"),
limit = get_parameter(kwargs, "limit", 0), limit = get_parameter(kwargs, "limit", 0),
other_conditions = {"test":"cnlab.test"} other_conditions = {"test":"cnlab.test"}
),metadata = get_auth_headers()) ),metadata = get_auth_headers())
...@@ -133,35 +144,35 @@ class Level0DataApi(object): ...@@ -133,35 +144,35 @@ class Level0DataApi(object):
''' insert a level0 data record into database ''' insert a level0 data record into database
parameter kwargs: parameter kwargs:
obs_id = [str]
detector_no = [str]
obs_type = [str]
obs_time = [str]
exp_time = [int]
detector_status_id = [int]
filename = [str]
file_path = [str] file_path = [str]
return: csst_dfs_common.models.Result return: csst_dfs_common.models.Result
''' '''
rec = level0_pb2.Level0Record( rec = level0_pb2.Level0Record(
obs_id = get_parameter(kwargs, "obs_id"),
detector_no = get_parameter(kwargs, "detector_no"),
obs_type = get_parameter(kwargs, "obs_type"),
obs_time = get_parameter(kwargs, "obs_time"),
exp_time = get_parameter(kwargs, "exp_time"),
detector_status_id = get_parameter(kwargs, "detector_status_id"),
filename = get_parameter(kwargs, "filename"),
file_path = get_parameter(kwargs, "file_path") file_path = get_parameter(kwargs, "file_path")
) )
req = level0_pb2.WriteLevel0DataReq(record = rec)
def stream(rec):
with open(rec.file_path, 'rb') as f:
while True:
data = f.read(UPLOAD_CHUNK_SIZE)
if not data:
break
yield level0_pb2.WriteLevel0Req(record = rec, data = data)
try: try:
resp,_ = self.stub.Write.with_call(req,metadata = get_auth_headers()) if not rec.file_path:
return Result.error(message="file_path is blank")
if not os.path.exists(rec.file_path):
return Result.error(message="the file [%s] not existed" % (rec.file_path, ))
if not rec.filename:
rec.filename = os.path.basename(rec.file_path)
resp,_ = self.stub.Write.with_call(stream(rec),metadata = get_auth_headers())
if resp.success: if resp.success:
return Result.ok_data(data = Level0Record().from_proto_model(resp.record)) return Result.ok_data(data=Level0Record().from_proto_model(resp.record))
else: else:
return Result.error(message = str(resp.error.detail)) return Result.error(message = str(resp.error.detail))
except grpc.RpcError as e: except grpc.RpcError as e:
return Result.error(message="%s:%s" % (e.code().value, e.details)) return Result.error(message="%s:%s" % (e.code().value, e.details))
...@@ -84,7 +84,7 @@ class Level2DataApi(object): ...@@ -84,7 +84,7 @@ class Level2DataApi(object):
),metadata = get_auth_headers()) ),metadata = get_auth_headers())
if resp.success: if resp.success:
return Result.ok_data(data=from_proto_model_list(MSCLevel2CatalogRecord, resp.records)).append("totalCount", resp.totalCount) return Result.ok_data(data=from_proto_model_list(Level2CatalogRecord, resp.records)).append("totalCount", resp.totalCount)
else: else:
return Result.error(message = str(resp.error.detail)) return Result.error(message = str(resp.error.detail))
......
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