[HandBrake_recursive] Ajout de l'option service avec systemd-run
This commit is contained in:
parent
7086cae208
commit
e38ee9855a
@ -68,6 +68,26 @@ def lever_inhibit_arret(inhibiteurs):
|
||||
session_manager = session_bus.get("org.gnome.SessionManager", "/org/gnome/SessionManager")
|
||||
session_manager.Uninhibit(inhibiteur)
|
||||
|
||||
def relancer_avec_systemd():
|
||||
# Constitue la commande avec systemd-run
|
||||
cmd = [
|
||||
"systemd-run",
|
||||
"--unit=handbrake_recursive",
|
||||
"--user",
|
||||
"--description=Encodage vidéo",
|
||||
f'--working-directory={os.getcwd()}',
|
||||
"--",
|
||||
sys.argv[0]
|
||||
]
|
||||
|
||||
# Ajoute les arguments sauf --service et --pager (journalctl utilise déjà un pager)
|
||||
cmd += [arg for arg in sys.argv[1:] if arg not in ("--service", "--pager")]
|
||||
|
||||
print(f"Lancement du script via systemd:\n{' '.join(cmd)}")
|
||||
print(f"Pour suivre l'exécution du programme:\n journalctl --user -f -u handbrake_recursive")
|
||||
|
||||
# Remplace le processus courant
|
||||
os.execvp(cmd[0], cmd)
|
||||
|
||||
# Définir la largeur de chaque colonne à environ 3 cm (approximativement 10.5 unités)
|
||||
def set_column_width(ws, column_range, width=15):
|
||||
@ -410,8 +430,13 @@ def main():
|
||||
parser.add_argument('-o', '--output_directory', required=True, help='Dossier de sortie pour les fichiers traités')
|
||||
parser.add_argument('--dry-run', action='store_true', help='Simule les actions sans modifier les fichiers')
|
||||
parser.add_argument('--pager', action='store_true', help='Utilise less pour paginer le résumé final')
|
||||
parser.add_argument("--service", action="store_true", help="Lancer via systemd-run")
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.service:
|
||||
if "INVOCATION_ID" not in os.environ:
|
||||
relancer_avec_systemd()
|
||||
|
||||
# Récupération des arguments
|
||||
preset_file = args.preset
|
||||
input_directory = args.input_directory
|
||||
|
Loading…
x
Reference in New Issue
Block a user