From e775562e3c736fb4d652a161a7e29f3fcd28be1f Mon Sep 17 00:00:00 2001 From: Viren070 Date: Fri, 20 Jun 2025 14:20:11 +0100 Subject: [PATCH] feat: extract folder size for stremthru torz --- packages/core/src/parser/streams.ts | 9 ++++++--- packages/core/src/presets/stremthruTorz.ts | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/packages/core/src/parser/streams.ts b/packages/core/src/parser/streams.ts index d48ef2a6..4ac3a7d4 100644 --- a/packages/core/src/parser/streams.ts +++ b/packages/core/src/parser/streams.ts @@ -455,12 +455,15 @@ class StreamParser { return this.addon.library ?? false; } - protected calculateBytesFromSizeString(size: string): number | undefined { + protected calculateBytesFromSizeString( + size: string, + sizeRegex?: RegExp + ): number | undefined { const k = this.sizeK; - if (!this.sizeRegex) { + const sizePattern = sizeRegex || this.sizeRegex; + if (!sizePattern) { return undefined; } - const sizePattern = this.sizeRegex; const match = size.match(sizePattern); if (!match) return 0; const value = parseFloat(match[1]); diff --git a/packages/core/src/presets/stremthruTorz.ts b/packages/core/src/presets/stremthruTorz.ts index 6f39b57f..09cfa007 100644 --- a/packages/core/src/presets/stremthruTorz.ts +++ b/packages/core/src/presets/stremthruTorz.ts @@ -40,6 +40,25 @@ class StremthruTorzStreamParser extends StreamParser { ): string | undefined { return undefined; } + + protected override getFolderSize( + stream: Stream, + currentParsedStream: ParsedStream + ): number | undefined { + let folderSize = this.calculateBytesFromSizeString( + stream.description ?? '', + /📦\s*(\d+(\.\d+)?)\s?(KB|MB|GB|TB)/i + ); + if ( + folderSize && + folderSize && + currentParsedStream.size && + folderSize <= currentParsedStream.size + ) { + folderSize = currentParsedStream.size; + } + return folderSize; + } } export class StremthruTorzPreset extends Preset {