code: def analyze(self, handle, filename):
          
          # multipart post files.
          files = {"file" : (filename, handle)}
  
          # ensure the handle is at offset 0.
          handle.seek(0)
  
          response = self._request("/submit/file", method='POST', files=files)
  
          try:
              if response.status_code == 201:
                  # good response
                  return response.json()['job_id']
              else:
                  raise sandboxapi.SandboxError("api error in analyze: {r}".format(r=response.content.decode('utf-8')))
          except (ValueError, KeyError) as e:
              raise sandboxapi.SandboxError("error in analyze: {e}".format(e=e))
docs: Submit a file for analysis.
  
          :type  handle:   File handle
          :param handle:   Handle to file to upload for analysis.
          :type  filename: str
          :param filename: File name.
  
          :rtype:  str
          :return: File hash as a string