21 Commits

Author SHA1 Message Date
frank.conrads bb1cf98aba prep version 1.2.0 2026-06-17 11:26:28 +02:00
frank.conrads ab62ce4f7b added concurrency to std. formula, should be still 16 Threads on local machine 2026-06-17 11:17:32 +02:00
frank.conrads 3c65f8cf65 SVG-Compression Profile balanced ist wesentlich konservativer, Datei-Eigenschaften der neuen PPTX enthält Hinweis auf PPTX Image Compressor in den Kommentaren 2026-06-10 12:43:12 +02:00
frank.conrads 0cec37eecd SVG-Compress hinzugefügt via svg-polish python module 2026-06-10 10:17:36 +02:00
frank.conrads 6c5a5256c7 Use local svgo.cmd wrapper binary
Switch SVG optimizer resolution from bin/svgo-cli.exe to bin/svgo.cmd.

Update unit tests to validate the new local binary path behavior.

Co-Authored-By: Abacus.AI CLI <agent@abacus.ai>
2026-06-08 14:51:40 +02:00
frank.conrads 75059f829a Add SVG compression via npx svgo
Add vector extension support for .svg and route SVG files through npx svgo before raster compression.

Keep behavior fail-safe: missing npx/svgo or non-zero svgo exit returns None and preserves existing flow.

Extend tests for SVG discovery, SVG routing priority, and missing npx handling.

Co-Authored-By: Abacus.AI CLI <agent@abacus.ai>
2026-06-08 13:40:45 +02:00
frank.conrads 89d0bb399c Refactor compression flow with routing seam
Introduce compress_image_with_routing and compress_raster_image to prepare extensible backend routing while keeping existing behavior unchanged.

Add unit test that verifies routing currently delegates to raster compressor.

Co-Authored-By: Abacus.AI CLI <agent@abacus.ai>
2026-06-08 13:37:05 +02:00
frank.conrads 337bf1e97b Version 1.1.7 fügt PNG to JPEG Funktion hinzu. Ist das komprimierte PNG immer noch >500 KB wird versucht, dies als JPEG mit quality=90 zu konvertieren, das ist oft sehr viel besser komprimiert 2026-06-03 14:24:25 +02:00
frank.conrads c69ec1eecb fix: apply medium/high severity code review findings
- Re-raise worker futures in as_completed to surface thread exceptions
- Replace hardcoded extension set with ALLOWED_EXT constant in compress_with_caesium
- Initialise work_dir/scratch_dir to None before try block to prevent NameError in finally
- Remove unused dead function get_slide_numbers_for_image
- Simplify redundant caesium_threads guard (threads and threads > 1 -> threads > 1)
- Write [Content_Types].xml first in ZIP to satisfy OOXML spec

Co-Authored-By: Abacus.AI CLI <agent@abacus.ai>
2026-04-09 10:26:45 +02:00
frank.conrads 698aac0aba Refactor and UnitTest 2026-04-09 10:10:57 +02:00
frank.conrads 332e62b764 Funktionalität min_savings der caesiumclt 1.3.0 implementiert (default: 2%), log-Datei um "Bild in Folien Nr." ergänzt. 2026-04-09 09:40:19 +02:00
frank.conrads 0338fd6524 Bumped CaesiumCLT to 1.3.0, python to 3.14.3 2026-04-08 13:32:08 +02:00
frank.conrads 85876228eb New Version 1.1.4 2025-10-30 10:11:53 +01:00
frank.conrads f498cafdf3 Bump up libcaesium to 1.1.0, now also supporting gif 2025-10-30 10:07:56 +01:00
frank.conrads 88d3793c70 Alle UNICODE Characters zu ASCII verändert 2025-09-22 15:27:58 +02:00
frank.conrads db77a977e6 Log-Format in KB 2025-09-11 14:35:22 +02:00
frank.conrads 01455784e2 Log Entries mit Endung .log.csv und ; als delimiter, newline nach jeder Zeile korrigiert 2025-09-11 14:21:21 +02:00
frank.conrads 7294486446 Vorbereitung Batch-Mode und Anpassung der Scripte und Readme 2025-09-10 15:46:25 +02:00
frank.conrads e0a8aad59d In Batch reflect subfolder /bin, revert script to old due to error in display 2025-09-10 12:14:54 +02:00
frank.conrads 00f4337d59 Neue Sturktur 2025-09-10 11:50:23 +02:00
frank.conrads 38390362e6 Version 1.0.0 2025-09-08 16:39:09 +02:00