Commit 6143d55f authored by Wei Shoulin's avatar Wei Shoulin
Browse files

add filter

parent 5fef4e45
Showing with 29 additions and 9 deletions
+29 -9
import os import os
from datetime import datetime from datetime import datetime
import time import time
import grpc
from csst_dfs_commons.models import Result
from csst_dfs_proto.common.misc import misc_pb2, misc_pb2_grpc
from .service import ServiceProxy
def format_datetime(dt): def format_datetime(dt):
return dt.strftime('%Y-%m-%d %H:%M:%S') return dt.strftime('%Y-%m-%d %H:%M:%S')
...@@ -14,7 +19,6 @@ def format_time_ms(float_time): ...@@ -14,7 +19,6 @@ def format_time_ms(float_time):
data_secs = (float_time - int(float_time)) * 1000 data_secs = (float_time - int(float_time)) * 1000
return "%s.%03d" % (data_head, data_secs) return "%s.%03d" % (data_head, data_secs)
def get_parameter(kwargs, key, default=None): def get_parameter(kwargs, key, default=None):
""" Get a specified named value for this (calling) function """ Get a specified named value for this (calling) function
...@@ -40,7 +44,6 @@ def to_int(s, default_value = 0): ...@@ -40,7 +44,6 @@ def to_int(s, default_value = 0):
except: except:
return default_value return default_value
def singleton(cls): def singleton(cls):
_instance = {} _instance = {}
...@@ -51,4 +54,15 @@ def singleton(cls): ...@@ -51,4 +54,15 @@ def singleton(cls):
return inner return inner
def get_auth_headers(): def get_auth_headers():
return (("csst_dfs_app",os.getenv("CSST_DFS_APP_ID")),("csst_dfs_token",os.getenv("CSST_DFS_APP_TOKEN")),) return (("csst_dfs_app",os.getenv("CSST_DFS_APP_ID")),("csst_dfs_token",os.getenv("CSST_DFS_APP_TOKEN")),)
\ No newline at end of file
def get_nextId_by_prefix(prefix):
stub = misc_pb2_grpc.MiscSrvStub(ServiceProxy().channel())
try:
resp,_ = stub.GetSeqId.with_call(
misc_pb2.GetSeqIdReq(prefix=prefix),
metadata = get_auth_headers()
)
return Result.ok_data(data=resp.nextId)
except grpc.RpcError as e:
return Result.error(message="%s:%s" % (e.code().value, e.details()))
\ No newline at end of file
...@@ -72,7 +72,7 @@ class Level1DataApi(object): ...@@ -72,7 +72,7 @@ class Level1DataApi(object):
return Result.error(message=f"data not found") return Result.error(message=f"data not found")
return Result.ok_data(data = Level1Record().from_proto_model(resp.record)) return Result.ok_data(data = Level1Record().from_proto_model(resp.record))
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()))
......
...@@ -20,9 +20,10 @@ class Level0DataApi(object): ...@@ -20,9 +20,10 @@ class Level0DataApi(object):
obs_id: [str] obs_id: [str]
detector_no: [str] detector_no: [str]
obs_type: [str] obs_type: [str]
obs_time : (start, end), filter: [str]
qc0_status : [int], obs_time : (start, end)
prc_status : [int], qc0_status : [int]
prc_status : [int]
file_name: [str] file_name: [str]
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
...@@ -43,6 +44,7 @@ class Level0DataApi(object): ...@@ -43,6 +44,7 @@ class Level0DataApi(object):
radius = get_parameter(kwargs, "radius", 0), radius = get_parameter(kwargs, "radius", 0),
object_name = get_parameter(kwargs, "object_name", None), object_name = get_parameter(kwargs, "object_name", None),
version = get_parameter(kwargs, "version", None), version = get_parameter(kwargs, "version", None),
filter = get_parameter(kwargs, "filter", None),
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())
......
...@@ -61,6 +61,7 @@ class Level2DataApi(object): ...@@ -61,6 +61,7 @@ class Level2DataApi(object):
parameter kwargs: parameter kwargs:
obs_id: [str] obs_id: [str]
detector_no: [str] detector_no: [str]
filter: [str]
ra: [float] in deg ra: [float] in deg
dec: [float] in deg dec: [float] in deg
radius: [float] in deg radius: [float] in deg
...@@ -71,8 +72,9 @@ class Level2DataApi(object): ...@@ -71,8 +72,9 @@ class Level2DataApi(object):
''' '''
try: try:
resp, _ = self.stub.FindCatalog.with_call(level2_pb2.FindLevel2CatalogReq( resp, _ = self.stub.FindCatalog.with_call(level2_pb2.FindLevel2CatalogReq(
obs_id = get_parameter(kwargs, "obs_id"), obs_id = get_parameter(kwargs, "obs_id", None),
detector_no = get_parameter(kwargs, "detector_no"), detector_no = get_parameter(kwargs, "detector_no", None),
filter = get_parameter(kwargs, "filter", None),
obs_time_start = get_parameter(kwargs, "obs_time", [None, None])[0], obs_time_start = get_parameter(kwargs, "obs_time", [None, None])[0],
obs_time_end = get_parameter(kwargs, "obs_time", [None, None])[1], obs_time_end = get_parameter(kwargs, "obs_time", [None, None])[1],
ra = get_parameter(kwargs, "ra"), ra = get_parameter(kwargs, "ra"),
...@@ -97,6 +99,7 @@ class Level2DataApi(object): ...@@ -97,6 +99,7 @@ class Level2DataApi(object):
parameter kwargs: parameter kwargs:
obs_id: [str] obs_id: [str]
detector_no: [str] detector_no: [str]
filter: [str]
ra: [float] in deg ra: [float] in deg
dec: [float] in deg dec: [float] in deg
radius: [float] in deg radius: [float] in deg
...@@ -109,6 +112,7 @@ class Level2DataApi(object): ...@@ -109,6 +112,7 @@ class Level2DataApi(object):
resp, _ = self.stub.FindCatalogFile.with_call(level2_pb2.FindLevel2CatalogReq( resp, _ = self.stub.FindCatalogFile.with_call(level2_pb2.FindLevel2CatalogReq(
obs_id = get_parameter(kwargs, "obs_id"), obs_id = get_parameter(kwargs, "obs_id"),
detector_no = get_parameter(kwargs, "detector_no"), detector_no = get_parameter(kwargs, "detector_no"),
filter = get_parameter(kwargs, "filter", None),
obs_time_start = get_parameter(kwargs, "obs_time", [None, None])[0], obs_time_start = get_parameter(kwargs, "obs_time", [None, None])[0],
obs_time_end = get_parameter(kwargs, "obs_time", [None, None])[1], obs_time_end = get_parameter(kwargs, "obs_time", [None, None])[1],
ra = get_parameter(kwargs, "ra"), ra = get_parameter(kwargs, "ra"),
......
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