/* * XdccDownloader - DownloadCommand.kt - Copyright © 2013 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package net.pterodactylus.xdcc.ui.stdin import com.google.common.primitives.Ints import net.pterodactylus.xdcc.core.Core import java.io.Writer /** * Command that requests a download from a bot. * * @see State.getLastResults */ class DownloadCommand(private val core: Core) : Command { override fun getName() = "download" override fun getAliases() = listOf("get") override fun execute(state: State, parameters: List, outputWriter: Writer): State { if (parameters.isEmpty()) { return state } val index = Ints.tryParse(parameters[0]) if (index != null && index < state.lastResults.size) { core.fetch(state.lastResults[index].bot(), state.lastResults[index].pack()) } return state } }