code: def send_script_sync(self, conn_id, data, progress_callback):
          
  
          done = threading.Event()
          result = {}
  
          def send_script_done(conn_id, adapter_id, status, reason):
              result['success'] = status
              result['failure_reason'] = reason
  
              done.set()
  
          self.send_script_async(conn_id, data, progress_callback, send_script_done)
          done.wait()
  
          return result
docs: Asynchronously send a a script to this IOTile device
  
          Args:
              conn_id (int): A unique identifier that will refer to this connection
              data (string): the script to send to the device
              progress_callback (callable): A function to be called with status on our progress, called as:
                  progress_callback(done_count, total_count)
  
          Returns:
              dict: a dict with the following two entries set
                  'success': a bool indicating whether we received a response to our attempted RPC
                  'failure_reason': a string with the reason for the failure if success == False