Compare commits

..

No commits in common. "3774511654854bc4074bfa5cc4997238a126d23d" and "9fd4dd452a89693a854b50ec2fb06a69df7adc50" have entirely different histories.

5 changed files with 4 additions and 62 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "real-debrid-downloader", "name": "real-debrid-downloader",
"version": "1.7.63", "version": "1.7.62",
"description": "Desktop downloader", "description": "Desktop downloader",
"main": "build/main/main/main.js", "main": "build/main/main/main.js",
"author": "Sucukdeluxe", "author": "Sucukdeluxe",

View File

@ -2682,13 +2682,6 @@ export class DownloadManager extends EventEmitter {
forceEpisodeForSeasonFolder: true forceEpisodeForSeasonFolder: true
}); });
if (!targetBaseName) { if (!targetBaseName) {
if (pkg) {
this.logPackageForPackage(pkg, "WARN", "Auto-Rename übersprungen: kein Zielname", {
sourceName,
sourceBaseName,
folders: folderCandidates.join(", ")
});
}
logger.info(`Auto-Rename: kein Zielname für ${sourceName} (folders=${folderCandidates.join(", ")})`); logger.info(`Auto-Rename: kein Zielname für ${sourceName} (folders=${folderCandidates.join(", ")})`);
continue; continue;
} }
@ -2713,13 +2706,6 @@ export class DownloadManager extends EventEmitter {
} }
} }
if (!targetPath) { if (!targetPath) {
if (pkg) {
this.logPackageForPackage(pkg, "WARN", "Auto-Rename übersprungen: Zielpfad ungültig", {
sourceName,
sourceBaseName,
targetBaseName
});
}
logger.warn(`Auto-Rename übersprungen (Zielpfad zu lang/ungültig): ${sourcePath}`); logger.warn(`Auto-Rename übersprungen (Zielpfad zu lang/ungültig): ${sourcePath}`);
continue; continue;
} }
@ -2727,12 +2713,6 @@ export class DownloadManager extends EventEmitter {
continue; continue;
} }
if (await this.existsAsync(targetPath)) { if (await this.existsAsync(targetPath)) {
if (pkg) {
this.logPackageForPackage(pkg, "WARN", "Auto-Rename übersprungen: Ziel existiert", {
sourceName,
targetPath
});
}
logger.warn(`Auto-Rename übersprungen (Ziel existiert): ${targetPath}`); logger.warn(`Auto-Rename übersprungen (Ziel existiert): ${targetPath}`);
continue; continue;
} }
@ -2778,12 +2758,6 @@ export class DownloadManager extends EventEmitter {
} }
} }
logger.warn(`Auto-Rename fehlgeschlagen (${sourceName}): ${compactErrorText(error)}`); logger.warn(`Auto-Rename fehlgeschlagen (${sourceName}): ${compactErrorText(error)}`);
if (pkg) {
this.logPackageForPackage(pkg, "WARN", "Auto-Rename fehlgeschlagen", {
sourceName,
error: compactErrorText(error)
});
}
} }
} }

View File

@ -457,14 +457,8 @@ function effectiveConflictMode(conflictMode: ConflictMode): "overwrite" | "skip"
return "skip"; return "skip";
} }
export function cleanErrorText(text: string): string { function cleanErrorText(text: string): string {
const normalized = String(text || "").replace(/\s+/g, " ").trim(); return String(text || "").replace(/\s+/g, " ").trim().slice(0, 500);
if (normalized.length <= 500) {
return normalized;
}
const head = normalized.slice(0, 240).trimEnd();
const tail = normalized.slice(-240).trimStart();
return `${head} ... ${tail}`;
} }
function appendLimited(base: string, chunk: string, maxLen = MAX_EXTRACT_OUTPUT_BUFFER): string { function appendLimited(base: string, chunk: string, maxLen = MAX_EXTRACT_OUTPUT_BUFFER): string {
@ -2348,7 +2342,7 @@ async function runExternalExtractInner(
let bestPercent = 0; let bestPercent = 0;
let passwordAttempt = 0; let passwordAttempt = 0;
let usePerformanceFlags = externalExtractorSupportsPerfFlags && shouldUseExtractorPerformanceFlags(); let usePerformanceFlags = externalExtractorSupportsPerfFlags && shouldUseExtractorPerformanceFlags();
const summarizeResultError = (errorText: string): string => cleanErrorText(errorText); const summarizeResultError = (errorText: string): string => cleanErrorText(errorText).slice(0, 280);
let createErrorText = ""; let createErrorText = "";
let createErrorPassword = ""; let createErrorPassword = "";

View File

@ -744,22 +744,4 @@ describe("buildAutoRenameBaseNameFromFolders", () => {
); );
expect(result).toBe("A.Million.Little.Things.S03E10.GERMAN.DL.720p.WEB.H264-4SF"); expect(result).toBe("A.Million.Little.Things.S03E10.GERMAN.DL.720p.WEB.H264-4SF");
}); });
it("renames abbreviated source jkl.web.7p-s01e13 via season folder", () => {
const result = buildAutoRenameBaseNameFromFoldersWithOptions(
["9JKL.S01.GERMAN.720p.WEB.x264-WvF"],
"jkl.web.7p-s01e13",
{ forceEpisodeForSeasonFolder: true }
);
expect(result).toBe("9JKL.S01E13.GERMAN.720p.WEB.x264-WvF");
});
it("renames abbreviated source jkl.web.7p-s01e14 via season folder", () => {
const result = buildAutoRenameBaseNameFromFoldersWithOptions(
["9JKL.S01.GERMAN.720p.WEB.x264-WvF"],
"jkl.web.7p-s01e14",
{ forceEpisodeForSeasonFolder: true }
);
expect(result).toBe("9JKL.S01E14.GERMAN.720p.WEB.x264-WvF");
});
}); });

View File

@ -5,7 +5,6 @@ import AdmZip from "adm-zip";
import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { afterEach, beforeEach, describe, expect, it } from "vitest";
import { import {
buildExternalExtractArgs, buildExternalExtractArgs,
cleanErrorText,
collectArchiveCleanupTargets, collectArchiveCleanupTargets,
extractPackageArchives, extractPackageArchives,
type ExtractArchiveFailureInfo, type ExtractArchiveFailureInfo,
@ -1039,13 +1038,6 @@ describe("extractor", () => {
it("returns unknown for unrecognized errors", () => { it("returns unknown for unrecognized errors", () => {
expect(classifyExtractionError("something weird happened")).toBe("unknown"); expect(classifyExtractionError("something weird happened")).toBe("unknown");
}); });
it("keeps important tail markers when long extractor output is trimmed", () => {
const noisy = `Extracting from archive.rar ${"x".repeat(700)} Unexpected end of archive`;
const cleaned = cleanErrorText(noisy);
expect(cleaned).toContain("Unexpected end of archive");
expect(classifyExtractionError(cleaned)).toBe("missing_parts");
});
}); });
describe("password discovery", () => { describe("password discovery", () => {