debug unrar

This commit is contained in:
julien 2025-06-26 16:04:24 +02:00
parent 8d2d7d4791
commit 75280e6346

View File

@ -511,23 +511,38 @@ func unzip(srcZip, destDir string) error {
return nil
}
func unrarExtract(srcRar, destDir string) error {
cmd := exec.Command("unrar", "x", "-y", srcRar, destDir)
output, err := cmd.CombinedOutput()
if err == nil {
log.Printf("[DEBUG] Début de lextraction RAR src: %q, dest: %q", srcRar, destDir)
// 1) Tentative avec unrar
cmdUnrar := exec.Command("unrar", "x", "-y", srcRar, destDir)
log.Printf("[DEBUG] Exécution de la commande unrar : %s", strings.Join(cmdUnrar.Args, " "))
outputUnrar, errUnrar := cmdUnrar.CombinedOutput()
log.Printf("[DEBUG] Résultat unrar err: %v, output:\n%s", errUnrar, string(outputUnrar))
if errUnrar == nil {
log.Printf("[INFO] Extraction réussie avec unrar.")
return nil
}
log.Printf("[WARN] Échec de unrar, passage à 7z.")
// 2) Repli sur 7z
cmd7z := exec.Command("7z", "x", srcRar, "-y", "-o"+destDir)
log.Printf("[DEBUG] Exécution de la commande 7z : %s", strings.Join(cmd7z.Args, " "))
output7z, err7z := cmd7z.CombinedOutput()
log.Printf("[DEBUG] Résultat 7z err: %v, output:\n%s", err7z, string(output7z))
if err7z == nil {
log.Printf("[INFO] Extraction réussie avec 7z.")
return nil
}
return fmt.Errorf(
"unrar failed: %v, output: %s\n7z fallback failed: %v, output: %s",
err, string(output),
// 3) Les deux ont échoué
errMsg := fmt.Errorf(
"unrar a échoué : %v\nSortie unrar : %s\n\n7z a échoué : %v\nSortie 7z : %s",
errUnrar, string(outputUnrar),
err7z, string(output7z),
)
log.Printf("[ERROR] %v", errMsg)
return errMsg
}