mirror of
https://github.com/Omni-guides/Jackify.git
synced 2026-01-17 19:47:00 +01:00
Initial public release v0.1.0 - Linux Wabbajack Modlist Application
Jackify provides native Linux support for Wabbajack modlist installation and management with automated Steam integration and Proton configuration. Key Features: - Almost Native Linux implementation (texconv.exe run via proton) - Automated Steam shortcut creation and Proton prefix management - Both CLI and GUI interfaces, with Steam Deck optimization Supported Games: - Skyrim Special Edition - Fallout 4 - Fallout New Vegas - Oblivion, Starfield, Enderal, and diverse other games Technical Architecture: - Clean separation between frontend and backend services - Powered by jackify-engine 0.3.x for Wabbajack-matching modlist installation
This commit is contained in:
45
jackify/frontends/cli/__main__.py
Normal file
45
jackify/frontends/cli/__main__.py
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Jackify CLI Frontend Entry Point
|
||||
|
||||
New entry point for the CLI frontend that uses the refactored structure.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import signal
|
||||
import logging
|
||||
|
||||
from .main import JackifyCLI
|
||||
|
||||
# Set up logging
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
||||
)
|
||||
|
||||
def terminate_children(signum, frame):
|
||||
"""Signal handler to terminate child processes on exit"""
|
||||
print("Received signal, shutting down...")
|
||||
sys.exit(0)
|
||||
|
||||
def main():
|
||||
"""Main entry point for the CLI frontend"""
|
||||
# Set up signal handlers
|
||||
signal.signal(signal.SIGTERM, terminate_children)
|
||||
signal.signal(signal.SIGINT, terminate_children)
|
||||
|
||||
try:
|
||||
cli = JackifyCLI()
|
||||
exit_code = cli.run()
|
||||
sys.exit(exit_code or 0)
|
||||
except KeyboardInterrupt:
|
||||
print("\nOperation cancelled by user")
|
||||
sys.exit(130) # Standard exit code for SIGINT
|
||||
except Exception as e:
|
||||
print(f"Fatal error: {e}")
|
||||
logging.exception("Fatal error in CLI frontend")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user