@@ -228,6 +228,35 @@ class PlotParameters:
228
228
dirty_allowed : bool = True
229
229
target_cookie_name : Optional [str ] = None
230
230
231
+ @staticmethod
232
+ def from_dict (data : dict ) -> PlotParameters :
233
+ if data .get ("lower_version" , None ) and data .get ("upper_version" , None ):
234
+ major_version_range = (data ["lower_version" ], data ["upper_version" ])
235
+ else :
236
+ major_version_range = None
237
+ if data .get ("lower_revision_nb" , None ) and data .get ("upper_revision_nb" , None ):
238
+ revision_number_range = (
239
+ data ["lower_revision_nb" ],
240
+ data ["upper_revision_nb" ],
241
+ )
242
+ else :
243
+ revision_number_range = None
244
+ return PlotParameters (
245
+ data .get ("plot_mech_group" ),
246
+ data .get ("target_mech_id" ),
247
+ data .get ("browser_name" ),
248
+ data .get ("db_collection" ),
249
+ major_version_range = major_version_range ,
250
+ revision_number_range = revision_number_range ,
251
+ browser_config = data .get ("browser_setting" , "default" ),
252
+ extensions = data .get ("extensions" , []),
253
+ cli_options = data .get ("cli_options" , []),
254
+ dirty_allowed = data .get ("dirty_allowed" , True ),
255
+ target_cookie_name = None
256
+ if data .get ("check_for" ) == "request"
257
+ else data .get ("target_cookie_name" , "generic" ),
258
+ )
259
+
231
260
232
261
@staticmethod
233
262
def evaluation_factory (kwargs : ImmutableMultiDict ) -> list [EvaluationParameters ]:
0 commit comments