]> git.r.bdr.sh - rbdr/blog/blobdiff - src/command/sync_up.rs
Improve the error handling
[rbdr/blog] / src / command / sync_up.rs
index 635de100a4c8339dc633704130a136e651697da9..c44e0b03b375e782ef6aca4dbd664e10f6daa088 100644 (file)
@@ -1,5 +1,6 @@
 use std::io::Result;
 use crate::configuration::Configuration;
+use crate::remote::sync_up;
 
 pub struct SyncUp;
 
@@ -14,8 +15,15 @@ impl super::Command for SyncUp {
         vec![]
     }
 
-    fn execute(&self, input: Option<&String>, _: &Configuration, _: &String) -> Result<()> {
-        println!("Sync Up: {:?}!", input);
+    fn execute(&self, _: Option<&String>, configuration: &Configuration, command: &String) -> Result<()> {
+        match sync_up(&configuration.data_directory, &configuration.remote_config) {
+            Ok(_) => {}
+            Err(e) => {
+                if command == self.command() {
+                    return Err(e)
+                }
+            }
+        }
         return Ok(())
     }