@@ -104,7 +104,7 @@ def search(self, siteid):
104104class OptionTask ():
105105 def __init__ (self , taskid , context , options ):
106106 self .taskid = taskid
107- self .context = context
107+ self .context = {} if context is None else context
108108 self .options = options
109109
110110 def __str__ (self ):
@@ -135,18 +135,20 @@ def __getitem__(self, key):
135135 return self .options [key ]
136136 return self .context [key ]
137137
138- def to_dict (self ):
138+ def to_dict (self , prefix = "" , include_context = True ):
139139 dd = {
140140 "taskid" : self .taskid ,
141- _DICT_KEYNAMES ["context_name" ]: self .context ,
142141 _DICT_KEYNAMES ["task_options_name" ]: self .options
143142 }
143+ if include_context :
144+ dd [_DICT_KEYNAMES ["context_name" ]] = self .context
145+
144146 return dd
145147
146148 @classmethod
147149 def from_dict (cls , dd ):
148150 return OptionTask (dd ["taskid" ],
149- dd [ _DICT_KEYNAMES ["context_name" ]] ,
151+ dd . get ( _DICT_KEYNAMES ["context_name" ], None ) ,
150152 dd [_DICT_KEYNAMES ["task_options_name" ]])
151153
152154 def log (self , logger ):
@@ -259,21 +261,22 @@ def from_file(cls, path, wait_secs=2):
259261
260262 return cls .from_dict (js )
261263
262- def to_dict (self ):
264+ def to_dict (self , prefix = "" ):
263265 dd = {
264266 "name" : self .name ,
265267 _DICT_KEYNAMES ["context_name" ]: self .context ,
266268 _DICT_KEYNAMES ["manager_options_name" ]: self .options ,
267- "tasks" : [self .get_task (taskid ).to_dict ()
269+ "tasks" : [self .get_task (taskid ).to_dict (prefix ,
270+ include_context = False )
268271 for taskid in range (self .ntasks )]
269272 }
270273 return dd
271274
272- def save (self , filename , overwrite = False ):
275+ def save (self , filename , prefix = "" , overwrite = False ):
273276 """ Save option manager to disk.
274277 Overwrite existing one if different.
275278 """
276- dd = self .to_dict ()
279+ dd = self .to_dict (prefix )
277280 filename = Path (filename )
278281
279282 if filename .exists () and not overwrite :
0 commit comments