X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/a9c6be4162bd15bd41ba3605127b56cb1eb32f32..b17907faf8d9693cef94a6048d802bd4ced9102f:/src/command/sync_down.rs?ds=sidebyside diff --git a/src/command/sync_down.rs b/src/command/sync_down.rs index dc4114e..f9122d4 100644 --- a/src/command/sync_down.rs +++ b/src/command/sync_down.rs @@ -1,6 +1,6 @@ -use std::fs::create_dir_all; -use std::io::{Result, Error}; use crate::configuration::Configuration; +use crate::remote::sync_down; +use std::io::Result; pub struct SyncDown; @@ -15,17 +15,21 @@ impl super::Command for SyncDown { vec![] } - 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. + fn execute( + &self, + _: Option<&String>, + configuration: &Configuration, + command: &str, + ) -> Result<()> { + match sync_down(&configuration.data_directory, &configuration.remote_config) { + Ok(()) => {} + Err(e) => { if command == self.command() { - println!("WARNING: Sync Down Not yet implemented"); + return Err(e); } - return Ok(()) - }, - Err(e) => Err(Error::new(e.kind(), format!("Could not create data directory"))) + } } + Ok(()) } fn after_dependencies(&self) -> Vec> { @@ -40,4 +44,3 @@ impl super::Command for SyncDown { "\t\t\t\tPulls from the git remote if configured" } } -