@@ -74,9 +74,9 @@ def get_object(self, request, model_id=None, dataset_id=None, run_number=None, l
74
74
@action (detail = False , methods = ["GET" ], url_path = r"cert-json" )
75
75
def generate_certificate_json (self , request ):
76
76
try :
77
- dataset_id = int ( request .query_params .get ("dataset_id" ))
78
- run_number = list (map (int , request .query_params .get ("run_number__in" ).split ("," )))
79
- model_id = list (map (int , request .query_params .get ("model_id__in" ).split ("," )))
77
+ dataset_id__in = list ( map ( int , request .query_params .get ("dataset_id__in" ). split ( "," ) ))
78
+ run_number__in = list (map (int , request .query_params .get ("run_number__in" ).split ("," )))
79
+ model_id__in = list (map (int , request .query_params .get ("model_id__in" ).split ("," )))
80
80
except ValueError as err :
81
81
raise ValidationError (
82
82
"dataset_id and run_number must be valid integers and model_ids a valid list of integers"
@@ -86,13 +86,13 @@ def generate_certificate_json(self, request):
86
86
workspace = self .get_workspace ()
87
87
88
88
# Fetch models' metadata in the given workspace
89
- models = MLModelsIndex .objects .using (workspace ).filter (model_id__in = model_id ).all ().values ()
89
+ models = MLModelsIndex .objects .using (workspace ).filter (model_id__in = model_id__in ).all ().values ()
90
90
models = {qs .get ("model_id" ): qs for qs in models }
91
91
92
92
# Fetch predictions for a given dataset, multiple runs from multiple models
93
93
queryset = self .get_queryset ()
94
94
result = (
95
- queryset .filter (dataset_id = dataset_id , run_number__in = run_number , model_id__in = model_id )
95
+ queryset .filter (dataset_id__in = dataset_id__in , run_number__in = run_number__in , model_id__in = model_id__in )
96
96
.all ()
97
97
.order_by ("run_number" , "ls_number" )
98
98
.values ()
@@ -101,7 +101,7 @@ def generate_certificate_json(self, request):
101
101
102
102
# Format bad lumi certification json
103
103
response = {}
104
- for run in run_number :
104
+ for run in run_number__in :
105
105
response [run ] = {}
106
106
predictions_in_run = [res for res in result if res .get ("run_number" ) == run ]
107
107
unique_ls = [res .get ("ls_number" ) for res in predictions_in_run ]
0 commit comments