def download(self, reference, package_ids, remote=None): """ Download conanfile and specified packages to local repository @param reference: ConanFileReference @param package_ids: Package ids or empty for download all @param remote: install only from that remote """ assert(isinstance(reference, ConanFileReference)) installer = ConanInstaller(self._paths, self._user_io, None, self.remote_manager, remote) if package_ids: installer.download_packages(reference, package_ids) else: # Not specified packages, download all info = self.remote_manager.search(str(reference), remote, ignorecase=False) if reference not in info: remote = remote or self.remote_manager.default_remote raise ConanException("'%s' not found in remote '%s'" % (str(reference), remote)) installer.download_packages(reference, info[reference].keys())