#! /usr/bin/env python3
import gi
import os
import shlex
import sys
import time
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import uproctrace.processes
def cmdline2str(cmdline: list) -> str:
"""
Convert command line to string.
"""
if cmdline is None:
return '???'
return ' '.join([shlex.quote(s) for s in cmdline])
def duration2str(duration: float) -> str:
"""
Convert duration to string.
"""
if duration is None:
return '???'
# split into day, hours, minutes, seconds
s = int(duration)
m = s // 60
s = s % 60
h = m // 60
m = m % 60
d = h // 24
h = h % 24
# split into ms, us, ns
ns = int((duration - s) * 1e9)
us = ns // 1000
ns = ns % 1000
ms = us // 1000
us = us % 1000
# assemble text
txt = ''
if d > 0:
txt += f'{d:d} d '
if h > 0 or txt:
txt += f'{h:d} h '
if m > 0 or txt:
txt += f'{m:d} m '
if s > 0 or txt: