]> git.r.bdr.sh - rbdr/blog/blame - src/command/sync_down.rs
Add release
[rbdr/blog] / src / command / sync_down.rs
CommitLineData
172f4c88 1use std::io::{Result};
a9c6be41 2use crate::configuration::Configuration;
172f4c88 3use crate::remote::sync_down;
d620665f
RBR
4
5pub struct SyncDown;
6
7impl SyncDown {
8 pub fn new() -> Self {
9 SyncDown
10 }
11}
12
13impl super::Command for SyncDown {
14 fn before_dependencies(&self) -> Vec<Box<dyn super::Command>> {
15 vec![]
16 }
17
a9c6be41 18 fn execute(&self, _: Option<&String>, configuration: &Configuration, command: &String) -> Result<()> {
50f53dc4
RBR
19 match sync_down(&configuration.data_directory, &configuration.remote_config) {
20 Ok(_) => {}
21 Err(e) => {
22 if command == self.command() {
23 return Err(e)
24 }
25 }
a9c6be41 26 }
172f4c88 27 return Ok(())
d620665f
RBR
28 }
29
30 fn after_dependencies(&self) -> Vec<Box<dyn super::Command>> {
31 vec![]
32 }
33
34 fn command(&self) -> &'static str {
35 "sync-down"
36 }
37
38 fn help(&self) -> &'static str {
2f579cf4 39 "\t\t\t\tPulls from the git remote if configured"
d620665f
RBR
40 }
41}
42