summaryrefslogtreecommitdiff
path: root/src/commands/download.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/download.rs')
-rw-r--r--src/commands/download.rs39
1 files changed, 28 insertions, 11 deletions
diff --git a/src/commands/download.rs b/src/commands/download.rs
index 7aa0156..dd00ffb 100644
--- a/src/commands/download.rs
+++ b/src/commands/download.rs
@@ -1,7 +1,5 @@
1use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
1 2
2use indicatif::{MultiProgress, ProgressStyle, ProgressBar};
3
4use crate::{STYLE_BAR_POS, PROGRESS_CHARS};
5use crate::{config::Cfg, List}; 3use crate::{config::Cfg, List};
6use crate::{ 4use crate::{
7 db::userlist_get_all_current_versions_with_mods, 5 db::userlist_get_all_current_versions_with_mods,
@@ -11,12 +9,21 @@ use crate::{
11 }, 9 },
12 modrinth::get_raw_versions, 10 modrinth::get_raw_versions,
13}; 11};
14 12use crate::{PROGRESS_CHARS, STYLE_BAR_POS};
15pub async fn download(config: &Cfg, liststack: Vec<List>, clean: bool, delete_old: bool) -> MLE<()> { 13
16 14pub async fn download(
15 config: &Cfg,
16 liststack: Vec<List>,
17 clean: bool,
18 delete_old: bool,
19) -> MLE<()> {
17 let mp = MultiProgress::new(); 20 let mp = MultiProgress::new();
18 let download_p = mp.add(ProgressBar::new(liststack.len().try_into().unwrap())); 21 let download_p = mp.add(ProgressBar::new(liststack.len().try_into().unwrap()));
19 download_p.set_style(ProgressStyle::with_template(STYLE_BAR_POS).unwrap().progress_chars(PROGRESS_CHARS)); 22 download_p.set_style(
23 ProgressStyle::with_template(STYLE_BAR_POS)
24 .unwrap()
25 .progress_chars(PROGRESS_CHARS),
26 );
20 27
21 for current_list in liststack { 28 for current_list in liststack {
22 download_p.set_message(format!("Download in {}", current_list.id)); 29 download_p.set_message(format!("Download in {}", current_list.id));
@@ -67,17 +74,27 @@ pub async fn download(config: &Cfg, liststack: Vec<List>, clean: bool, delete_ol
67 ) 74 )
68 .await?; 75 .await?;
69 } else { 76 } else {
70 download_p.println(format!("There are no new versions to download for {}", current_list.id)); 77 download_p.println(format!(
78 "There are no new versions to download for {}",
79 current_list.id
80 ));
71 } 81 }
72 82
73 if !to_disable.is_empty() { 83 if !to_disable.is_empty() {
74 let d_p = mp.insert_before(&download_p, ProgressBar::new(to_disable.len().try_into().unwrap())); 84 let d_p = mp.insert_before(
75 d_p.set_style(ProgressStyle::with_template(STYLE_BAR_POS).unwrap().progress_chars(PROGRESS_CHARS)); 85 &download_p,
86 ProgressBar::new(to_disable.len().try_into().unwrap()),
87 );
88 d_p.set_style(
89 ProgressStyle::with_template(STYLE_BAR_POS)
90 .unwrap()
91 .progress_chars(PROGRESS_CHARS),
92 );
76 for ver in to_disable { 93 for ver in to_disable {
77 if delete_old { 94 if delete_old {
78 d_p.set_message(format!("Delete version {}", ver.1)); 95 d_p.set_message(format!("Delete version {}", ver.1));
79 d_p.inc(1); 96 d_p.inc(1);
80 delete_version(current_list.clone(), ver.1)?; 97 delete_version(&current_list, ver.1)?;
81 } else { 98 } else {
82 d_p.set_message(format!("Disable version {}", ver.1)); 99 d_p.set_message(format!("Disable version {}", ver.1));
83 d_p.inc(1); 100 d_p.inc(1);