'Either overwrite this or implement _make_cmd'

def _call_downloader(self, tmpfilename, info_dict):

    cmd = [encodeArgument(a) for a in self._make_cmd(tmpfilename, info_dict)]
    self._debug_cmd(cmd)
    p = subprocess.Popen(cmd, stderr=subprocess.PIPE)
    (_, stderr) = p.communicate()
    if (p.returncode != 0):
        self.to_stderr(stderr.decode(u'utf-8', u'replace'))
    return p.returncode
