[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 = session_bus.get("org.gnome.SessionManager", "/org/gnome/SessionManager")
|
||||||
session_manager.Uninhibit(inhibiteur)
|
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)
|
# Définir la largeur de chaque colonne à environ 3 cm (approximativement 10.5 unités)
|
||||||
def set_column_width(ws, column_range, width=15):
|
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('-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('--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('--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()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.service:
|
||||||
|
if "INVOCATION_ID" not in os.environ:
|
||||||
|
relancer_avec_systemd()
|
||||||
|
|
||||||
# Récupération des arguments
|
# Récupération des arguments
|
||||||
preset_file = args.preset
|
preset_file = args.preset
|
||||||
input_directory = args.input_directory
|
input_directory = args.input_directory
|
||||||
|
Loading…
x
Reference in New Issue
Block a user