{"record":{"id":"46872cea96658b38","repo":"tonhowtf/omniget","slug":"nao-foi-possivel-baixar-o-gallery-dl-para-este-sistema","errorCode":null,"errorMessage":"nao foi possivel baixar o gallery-dl para este sistema","messagePattern":"nao foi possivel baixar o gallery-dl para este sistema","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/gallery.rs","lineNumber":31,"sourceCode":"\npub async fn status() -> GalleryStatus {\n    let path = crate::core::dependencies::find_tool(\"gallery-dl\").await;\n    let version = match &path {\n        Some(p) => crate::core::dependencies::check_version_at_path(p, \"gallery-dl\").await,\n        None => None,\n    };\n    GalleryStatus {\n        installed: path.is_some(),\n        path: path.map(|p| p.to_string_lossy().to_string()),\n        version,\n    }\n}\n\npub async fn install() -> anyhow::Result<String> {\n    crate::core::dependencies::ensure_gallerydl()\n        .await\n        .map(|p| p.to_string_lossy().to_string())\n        .ok_or_else(|| anyhow!(\"nao foi possivel baixar o gallery-dl para este sistema\"))\n}\n\n#[derive(Debug, Clone, Serialize)]\npub struct GalleryResult {\n    pub files: Vec<String>,\n    pub dest: String,\n    pub log_tail: String,\n}\n\npub async fn download(\n    url: &str,\n    dest: &str,\n    cookies_file: Option<&str>,\n    progress: super::ProgressFn,\n) -> anyhow::Result<GalleryResult> {\n    use tokio::io::{AsyncBufReadExt, BufReader};\n    let bin = crate::core::dependencies::ensure_gallerydl()\n        .await","sourceCodeStart":13,"sourceCodeEnd":49,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/gallery.rs#L13-L49","documentation":"install() delegates to ensure_gallerydl(), which attempts to locate or download the gallery-dl binary; when it returns None (download impossible for this platform or network fetch failed), install() converts that into this error. It reports the binary could not be provisioned for the current system.","triggerScenarios":"Calling install() when ensure_gallerydl() cannot find an existing gallery-dl and its download step fails — unsupported OS/arch, download URL unreachable, or checksum/disk failure.","commonSituations":"Offline or firewalled machine blocking the download host; unsupported platform (e.g. unusual Linux arch); antivirus quarantining the downloaded binary.","solutions":["Check network connectivity to the gallery-dl release host and retry","Install gallery-dl manually (pip install gallery-dl or download the standalone binary) and put it in PATH so ensure_gallerydl() finds it","Verify the platform is supported by the downloader (common OS/arch combos)"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// check availability before install attempt\nif which::which(\"gallery-dl\").is_ok() { /* already present */ }","typeGuard":null,"tryCatchPattern":"match gallery::install().await {\n    Ok(path) => path,\n    Err(e) => {\n        tokio::time::sleep(Duration::from_secs(5)).await;\n        gallery::install().await.map_err(|e2| anyhow!(\"install retry falhou: {e2}\"))?\n    }\n}","preventionTips":["Check network access to the gallery-dl release host before installing","Pre-install gallery-dl via pip so the auto-download is never needed","Retry downloads with backoff; log the underlying network error"],"tags":["gallery-dl","missing-dependency","download"],"backgroundTag":"missing-dependency","analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}