'Adds the provided file to the list to be pushed to the server.
Args:
path: The path the file should be uploaded as.
file_handle: A stream containing data to upload.'

def AddFile(self, path, file_handle):

    assert (not self.in_transaction), 'Already    in    a    transaction.'
    assert (file_handle is not None)
    reason = appinfo.ValidFilename(path)
    if reason:
        logging.error(reason)
        return
    content_hash = _HashFromFileHandle(file_handle)
    self.files[path] = content_hash
    self.all_files.add(path)
