diff options
Diffstat (limited to 'src/files.rs')
-rw-r--r-- | src/files.rs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/files.rs b/src/files.rs deleted file mode 100644 index 0810a4e..0000000 --- a/src/files.rs +++ /dev/null @@ -1,57 +0,0 @@ -use json; -use serde_json; - -use std::io::prelude::*; -use std::fs::File; -use std::path::PathBuf; - -use actions::*; -use knowledge::*; - -const STATE_FILE: &'static str = "state.json"; - -const COMMAND_FILE: &'static str = "command.txt"; -const PLACE_FILE: &'static str = "place.txt"; - -const KNOWLEDGE_FILE: &'static str = "knowledge-state.json"; - - -pub fn read_file(working_dir: &PathBuf) -> Result<json::JsonValue, String> { - let state_path = working_dir.join(STATE_FILE); - let mut file = File::open(state_path.as_path()).map_err(|e| e.to_string())?; - let mut content = String::new(); - file.read_to_string(&mut content).map_err(|e| e.to_string())?; - json::parse(content.as_ref()).map_err(|e| e.to_string()) -} - -pub fn write_action(working_dir: &PathBuf, is_place_phase: bool, action: Action) -> Result<(), String> { - let filename = if is_place_phase { - PLACE_FILE - } - else { - COMMAND_FILE - }; - - let full_filename = working_dir.join(filename); - let mut file = File::create(full_filename.as_path()).map_err(|e| e.to_string())?; - write!(file, "{}", action).map_err(|e| e.to_string())?; - - println!("Making move: {}", action); - - Ok(()) -} - -pub fn read_knowledge() -> Result<Knowledge, String> { - let mut file = File::open(KNOWLEDGE_FILE).map_err(|e| e.to_string())?; - let mut content = String::new(); - file.read_to_string(&mut content).map_err(|e| e.to_string())?; - serde_json::from_str(content.as_ref()).map_err(|e| e.to_string()) -} - -pub fn write_knowledge(knowledge: &Knowledge) -> Result<(), String> { - let json = serde_json::to_string(knowledge).map_err(|e| e.to_string())?; - let mut file = File::create(KNOWLEDGE_FILE).map_err(|e| e.to_string())?; - write!(file, "{}", json).map_err(|e| e.to_string())?; - - Ok(()) -} |