summaryrefslogtreecommitdiff
path: root/src/manager.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/manager.rs')
-rw-r--r--src/manager.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/manager.rs b/src/manager.rs
index 6f3cfac..15f28d9 100644
--- a/src/manager.rs
+++ b/src/manager.rs
@@ -1,6 +1,8 @@
use tokio::fs;
-use crate::{AppImage, Downloader, Index, Result, SymlinkManager, index_dir};
+use crate::{
+ AppImage, Downloader, Index, Result, SymlinkManager, get_github_release_url, index_dir,
+};
#[derive(Debug, Default)]
pub struct PackageManager {
@@ -26,9 +28,19 @@ impl PackageManager {
appimage.file_path = self
.downloader
.prepare_path(&appimage.source.meta.url, &appimage.executable)?;
- self.downloader
- .download_with_progress(&appimage.source.meta.url, &appimage.file_path)
- .await?;
+
+ if appimage.source.identifier != "git.github" {
+ self.downloader
+ .download_with_progress(&appimage.source.meta.url, &appimage.file_path)
+ .await?;
+ } else {
+ self.downloader
+ .download_with_progress(
+ &get_github_release_url(appimage).await?,
+ &appimage.file_path,
+ )
+ .await?;
+ }
self.index.add(appimage, appname).await?;
self.symlink_manager.create(appimage).await?;