From 5aafa2f6e55631166801bb0f644f66c512d2ac1d Mon Sep 17 00:00:00 2001
From: Oskar Stenberg <oskar.stenberg@control.lth.se>
Date: Fri, 28 Mar 2025 10:17:08 +0100
Subject: [PATCH] Base timestamp on mtime from tree

---
 src/hostinfo/nettools.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/hostinfo/nettools.py b/src/hostinfo/nettools.py
index b726d44..5acee5f 100644
--- a/src/hostinfo/nettools.py
+++ b/src/hostinfo/nettools.py
@@ -1,4 +1,6 @@
 import datetime
+import os
+import sys
 import hostinfo.util as util
 # File syntax is according to nettools manual:
 # IP-adress;hostnamn;kommasepareradeMAC-adresser;DHCP-grupp;LucatID;kommentar
@@ -31,12 +33,14 @@ def generate_row(ip,
                 % (ip, hostname, maclist, dhcp_group, owner, comment))
     return template
 
-def generate_row_tup(host):
+def generate_row_tup(tree, host):
     h = list(host)
     # Ensure proper length of tuple to unpack
     h = h + [""]*(6 - len(h))
     ip, hostname, maclist, dhcp_group, owner, _ = h
-    comment = datetime.datetime.now().isoformat(timespec='seconds')
+    mtime = datetime.datetime.fromtimestamp(int(max(tree._mtime,
+                                                    os.stat(sys.argv[0]).st_mtime)))
+    comment = "Batch generated: " + mtime.isoformat(timespec='seconds')
     return generate_row(ip, hostname, maclist, dhcp_group, owner, comment)
 
 def filter_nets(tree, options, ip):
@@ -92,6 +96,6 @@ def generate(tree, options):
 
     output = []
     for h in hosts:
-        output.append(generate_row_tup(h))
+        output.append(generate_row_tup(tree, h))
     return '\n'.join(output)
         
-- 
GitLab