about summary refs log tree commit diff
path: root/tools/waybar-systemd-units/waybar-systemd.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/waybar-systemd-units/waybar-systemd.py')
-rwxr-xr-xtools/waybar-systemd-units/waybar-systemd.py75
1 files changed, 0 insertions, 75 deletions
diff --git a/tools/waybar-systemd-units/waybar-systemd.py b/tools/waybar-systemd-units/waybar-systemd.py
deleted file mode 100755
index de5c2e0..0000000
--- a/tools/waybar-systemd-units/waybar-systemd.py
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env python3
-import json
-import subprocess
-from typing import List
-
-import click
-
-
-def _get_failed_units(cmd) -> List[str]:
-    res = subprocess.run(cmd, capture_output=True, check=True)
-    if res.returncode == 0:
-        units = json.loads(res.stdout)
-        return [unit.get("unit") for unit in units]
-    else:
-        click.echo(f"failed to run {cmd}", err=True)
-        return []
-
-
-@click.command()
-@click.version_option(version="0.1.0")
-def cli() -> int:
-    """
-    Get a list of systemd units (system and users) that have
-    failed, and print the output in JSON, in a format compatible to
-    waybar.
-    """
-    failed_system_units = _get_failed_units(
-        [
-            "systemctl",
-            "list-units",
-            "-o",
-            "json",
-            "--state=failed",
-        ],
-    )
-
-    failed_user_units = _get_failed_units(
-        [
-            "systemctl",
-            "--user",
-            "list-units",
-            "-o",
-            "json",
-            "--state=failed",
-        ],
-    )
-
-    failed_units = len(failed_user_units) + len(failed_system_units)
-
-    # The output format documentation:
-    # https://github.com/Alexays/Waybar/wiki/Module:-Custom
-    output = {"text": failed_units, "class": "success"}
-
-    if failed_units > 0:
-        output["class"] = "errors"
-
-        tooltip = []
-
-        if len(failed_user_units) > 0:
-            tooltip.append("failed user units: {}".format(", ".join(failed_user_units)))
-
-        if len(failed_system_units) > 0:
-            tooltip.append(
-                "failed system units: {}".format(", ".join(failed_system_units))
-            )
-
-        output["tooltip"] = "\n".join(tooltip)
-
-    click.echo(json.dumps(output))
-
-    return 0
-
-
-if __name__ == "__main__":
-    cli()