v1.8.0 #5
Rashed-alothman
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Architectural Overhaul
Modular Package: Monolithic Snatch.py split into a clean package under Modules/ (soon snatch/), with dedicated modules for CLI, config, manager, cache, progress, utils, plugins, P2P, logging, defaults, constants, and metadata.
Entry Points: Scaffolded Modules/main.py for python -m Modules, and setup.py configured for a snatch console script.
Editable Installs: Supports pip install -e . for rapid development.
Logging & Configuration
Unified Logging: Central logging_config.py (Colorama for human‑readable; JSON formatter for machine parsing).
Root Logger: Automatically configured in cli.py, with module‑local logger = getLogger(name) everywhere.
Interactive Download Mode (WIP)
Interactive Mode: New interactive_mode.py consolidates prompts (media type, audio codec, channels, resolution).
Crash Fix: Resolved 'NoneType' object has no attribute 'get' when metadata missing.
Flags: --no-interactive placeholder for non‑interactive defaults.
DownloadManager Improvements (WIP)
Format Options: Scaffold to accept format_opts dict (audio/video filters).
Exit Codes: Defined 0=success, 1=partial failure, 2=fatal error.
Extensibility Scaffolds
Plugin API: plugins.py stub for entry‑point discovery and hook registry.
P2P Sharing: p2p.py stubs for share_file() and fetch_file(), paving the way for direct Snatch‑to‑Snatch transfers.
Planned Advanced Features
Proxy Auto‑Config & NTLM/Kerberos support
Multi‑host mirror & failover (Metalink, chunk scheduling)
Video upscaling (SRCNN/ESPCN/Topaz AI) and audio enhancement (RNNoise, loudnorm)
Internationalization (gettext, locales/)
CI‑driven testing matrix and shell‑completion scripts
Known Issues in This Pre‑Release
Interactive Mode Incomplete: Some prompts may not correctly override defaults or honor --no-interactive.
Audio‑Format Flag: --audio-format binding to DownloadManager is not yet fully wired.
P2P Workflow: Handshake, NAT traversal, and error handling are placeholders needing robust testing.
Plugin Hooks: No real plugins yet; hook points need integration.
Packaging Edges: Windows console‑script shim may require manual PATH adjustments.
This discussion was created from the release v1.8.0.
Beta Was this translation helpful? Give feedback.
All reactions