X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/d620665f6b2e1ae5db4c98a09e35bd63133ae87f..0e276d039b8613de0cbd302bf328bb660ab063b6:/src/command/sync_down.rs?ds=sidebyside diff --git a/src/command/sync_down.rs b/src/command/sync_down.rs index a0c713b..dc4114e 100644 --- a/src/command/sync_down.rs +++ b/src/command/sync_down.rs @@ -1,4 +1,6 @@ -use std::io::Result; +use std::fs::create_dir_all; +use std::io::{Result, Error}; +use crate::configuration::Configuration; pub struct SyncDown; @@ -13,9 +15,17 @@ impl super::Command for SyncDown { vec![] } - fn execute(&self, input: Option<&String>) -> Result<()> { - println!("Sync Down: {:?}!", input); - return Ok(()) + fn execute(&self, _: Option<&String>, configuration: &Configuration, command: &String) -> Result<()> { + match create_dir_all(&configuration.data_directory) { + Ok(_) => { + // We only care to show these warnings if this is the primary command. + if command == self.command() { + println!("WARNING: Sync Down Not yet implemented"); + } + return Ok(()) + }, + Err(e) => Err(Error::new(e.kind(), format!("Could not create data directory"))) + } } fn after_dependencies(&self) -> Vec> { @@ -27,7 +37,7 @@ impl super::Command for SyncDown { } fn help(&self) -> &'static str { - "\t\t\tPulls from the git remote if configured" + "\t\t\t\tPulls from the git remote if configured" } }