/* Hurry Curry! - a game about cooking Copyright (C) 2025 Hurry Curry! Contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License only. 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ pub mod book; pub mod book_html; pub mod diagram_layout; pub mod graph; pub mod graph_summary; pub mod recipe_diagram; use crate::{ book::{book, print_book}, book_html::render_html_book, graph::graph, graph_summary::graph_summary, }; use anyhow::Result; use clap::Parser; use hurrycurry_server::data::DataIndex; #[derive(Parser)] enum Action { Graph, GraphSummary, Book, BookHtml, MapDemands { map: String }, } fn main() -> Result<()> { let action = Action::parse(); match action { Action::Graph => graph()?, Action::GraphSummary => graph_summary()?, Action::Book => { let mut index = DataIndex::default(); index.reload()?; let (data, serverdata, _) = index.generate("5star")?; print_book(&data, &serverdata)? } Action::BookHtml => { let mut index = DataIndex::default(); index.reload()?; let (data, serverdata, _) = index.generate("5star")?; let book = book(&data, &serverdata)?; println!("{}", render_html_book(&data, &book)) } Action::MapDemands { map } => { let mut index = DataIndex::default(); index.reload()?; let (data, _, _) = index.generate(&map)?; for demand in &data.demands { println!("- {}", data.item_name(demand.input)) } } } Ok(()) }