#! /usr/bin/env python3 # encoding: utf-8 import psutil def cave_stat(): for proc in psutil.process_iter(): if proc.name() == "cave": cmdline = proc.cmdline() if "--x-of-y" in cmdline: position = [c for c in cmdline if " of " in c][0] if "--destination" in cmdline: action = "Installing" atom_idx = cmdline.index("--destination") - 1 atom = cmdline[atom_idx] else: action = "Downloading" atom = [c for c in cmdline if "::" in c and c[0] == "="][0] yield "%s %s (%s)" %(action, atom, position) if __name__ == "__main__": for state in cave_stat(): print(state)