From 870344a07115fd89a69fc4650ee2c9651daf7e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Ricart?= Date: Mon, 17 Feb 2025 10:08:04 +0100 Subject: [PATCH] add verisons info --- parsers/debian.py | 7 +++++++ parsers/freebsd.py | 8 ++++++++ template/base.rst.j2 | 2 ++ template/debian.rst.j2 | 1 + 4 files changed, 18 insertions(+) diff --git a/parsers/debian.py b/parsers/debian.py index 3d20d97..3b0b59e 100644 --- a/parsers/debian.py +++ b/parsers/debian.py @@ -13,6 +13,12 @@ def parse_ip(raw_ip): result.append(interface) return result +def parse_os(raw_os): + result = {} + for line in raw_os.splitlines(): + opt, value = line.split("=") + result[opt.lower()] = value + return result def parse_debian(content): current_section = "" @@ -26,6 +32,7 @@ def parse_debian(content): result[current_section] += line + "\n" result["ip"] = parse_ip(result["ip"]) result["services"] = loads(result["services"]) + result["os"] = parse_os(result["version"]) return result if __name__ == "__main__": diff --git a/parsers/freebsd.py b/parsers/freebsd.py index 6fc3f8a..5fd53d9 100644 --- a/parsers/freebsd.py +++ b/parsers/freebsd.py @@ -11,6 +11,13 @@ def parse_ip(block): result[current_interface].append(line.strip().split(" ")[1]) return result +def parse_os(raw_os): + result = {} + for line in raw_os.splitlines(): + opt, value = line.split("=") + result[opt.lower()] = value + return result + def parse_freebsd(content): current_section = "" result = {} @@ -24,6 +31,7 @@ def parse_freebsd(content): from pprint import pprint #pprint(result) result["ip"] = parse_ip(result["interfaces"]) + result["os"] = parse_os(result["version"]) return result if __name__ == "__main__": diff --git a/template/base.rst.j2 b/template/base.rst.j2 index 4aef743..e88db88 100644 --- a/template/base.rst.j2 +++ b/template/base.rst.j2 @@ -2,3 +2,5 @@ {{ hostname.replace("\n", "") }} {{ "=" * (hostname|length) }} +:os: {{ os["name"] }} +:version: {{ os["version"] }} diff --git a/template/debian.rst.j2 b/template/debian.rst.j2 index c2c7b0c..b87de9e 100644 --- a/template/debian.rst.j2 +++ b/template/debian.rst.j2 @@ -1,3 +1,4 @@ + {% include "base.rst.j2" %} network -------