@@ -226,8 +226,12 @@ def _load_atom_entries(response):
226226
227227
228228# Load the sid from the body of the given response
229- def _load_sid (response ):
230- return _load_atom (response ).response .sid
229+ def _load_sid (response , output_mode ):
230+ if output_mode == "json" :
231+ json_obj = json .loads (response .body .read ())
232+ return json_obj .get ('sid' )
233+ else :
234+ return _load_atom (response ).response .sid
231235
232236
233237# Parse the given atom entry record into a generic entity state record
@@ -2968,7 +2972,7 @@ def create(self, query, **kwargs):
29682972 if kwargs .get ("exec_mode" , None ) == "oneshot" :
29692973 raise TypeError ("Cannot specify exec_mode=oneshot; use the oneshot method instead." )
29702974 response = self .post (search = query , ** kwargs )
2971- sid = _load_sid (response )
2975+ sid = _load_sid (response , kwargs . get ( "output_mode" , None ) )
29722976 return Job (self .service , sid )
29732977
29742978 def export (self , query , ** params ):
@@ -3184,7 +3188,7 @@ def dispatch(self, **kwargs):
31843188 :return: The :class:`Job`.
31853189 """
31863190 response = self .post ("dispatch" , ** kwargs )
3187- sid = _load_sid (response )
3191+ sid = _load_sid (response , kwargs . get ( "output_mode" , None ) )
31883192 return Job (self .service , sid )
31893193
31903194 @property
0 commit comments