Upload the given file to the specified number of hosts.

        :param filename: The filename of the file to upload.
        :type filename: str
        :param number_of_hosts: The number of hosts to connect to.
        :type number_of_hosts: int
        :returns:  A list of dicts with 'host_name' and 'url' keys for all
                   successful uploads or an empty list if all uploads failed.
        :rtype: list

def upload(self, filename, number_of_hosts):
        """Upload the given file to the specified number of hosts.

        :param filename: The filename of the file to upload.
        :type filename: str
        :param number_of_hosts: The number of hosts to connect to.
        :type number_of_hosts: int
        :returns:  A list of dicts with 'host_name' and 'url' keys for all
                   successful uploads or an empty list if all uploads failed.
        :rtype: list
        """
        return self.multiupload(filename, self.random_hosts(number_of_hosts))