#!/usr/bin/env python3
"""
Lite Sounds Helper - Privileged operations helper
This script runs with pkexec to perform operations requiring root privileges.

Authors: Original by Jerry Bezencon, GTK4 port
Website: https://www.linuxliteos.com
License: GPL-2.0+
"""

import sys
import os
from pathlib import Path

LOGOUT_SCRIPT = Path("/usr/local/bin/xfce4-session")
LOGOUT_SCRIPT_DISABLED = Path("/usr/local/bin/xfce4-session.disabled")


def enable_logout_sound():
    """Enable logout sound by restoring the xfce4-session wrapper."""
    if LOGOUT_SCRIPT_DISABLED.exists() and not LOGOUT_SCRIPT.exists():
        try:
            LOGOUT_SCRIPT_DISABLED.rename(LOGOUT_SCRIPT)
            print("Logout sound enabled.")
            return 0
        except OSError as e:
            print(f"Error enabling logout sound: {e}", file=sys.stderr)
            return 1
    elif LOGOUT_SCRIPT.exists():
        print("Logout sound is already enabled.")
        return 0
    else:
        print("Logout sound script not found.", file=sys.stderr)
        return 1


def disable_logout_sound():
    """Disable logout sound by moving the xfce4-session wrapper."""
    if LOGOUT_SCRIPT.exists() and not LOGOUT_SCRIPT_DISABLED.exists():
        try:
            LOGOUT_SCRIPT.rename(LOGOUT_SCRIPT_DISABLED)
            print("Logout sound disabled.")
            return 0
        except OSError as e:
            print(f"Error disabling logout sound: {e}", file=sys.stderr)
            return 1
    elif LOGOUT_SCRIPT_DISABLED.exists():
        print("Logout sound is already disabled.")
        return 0
    else:
        print("Logout sound script not found.", file=sys.stderr)
        return 1


def show_usage():
    """Display usage information."""
    print("Usage: lite-sounds-helper <command>")
    print("")
    print("Commands:")
    print("  enable-logout   Enable logout sound")
    print("  disable-logout  Disable logout sound")
    print("")
    return 1


def main():
    """Main entry point."""
    if len(sys.argv) != 2:
        return show_usage()
    
    command = sys.argv[1]
    
    if command == "enable-logout":
        return enable_logout_sound()
    elif command == "disable-logout":
        return disable_logout_sound()
    else:
        print(f"Unknown command: {command}", file=sys.stderr)
        return show_usage()


if __name__ == "__main__":
    sys.exit(main())
