From 57b96dd768cb186915f95303ecf98214c271bb62 Mon Sep 17 00:00:00 2001
From: Robert Izzard <r.izzard@surrey.ac.uk>
Date: Tue, 9 Nov 2021 10:20:37 +0000
Subject: [PATCH] add platform info to metadata

---
 binarycpython/utils/grid.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py
index d478af808..a0a2ea4ce 100644
--- a/binarycpython/utils/grid.py
+++ b/binarycpython/utils/grid.py
@@ -5223,11 +5223,27 @@ eccentricity3=0
             system_generator = object.grid_options["_system_generator"]
             object.grid_options["_system_generator"] = None
 
-            # add datestamp
+            # add metadata if it doesn't exist
             if not 'metadata' in object.grid_ensemble_results:
                 object.grid_ensemble_results['metadata'] = {}
+
+            # add datestamp
             object.grid_ensemble_results['metadata']['save_population_time'] = datetime.datetime.now().strftime("%m/%d/%Y %H:%M:%S")
 
+            # add platform and build information
+            try:
+                object.grid_ensemble_results['metadata']['platform'] = platform()
+                object.grid_ensemble_results['metadata']['platform_uname'] = list(platform.uname())
+                object.grid_ensemble_results['metadata']['platform_machine'] = platform.machine()
+                object.grid_ensemble_results['metadata']['platform_node'] = platform.node()
+                object.grid_ensemble_results['metadata']['platform_release'] = platform.release()
+                object.grid_ensemble_results['metadata']['platform_version'] = platform.version()
+                object.grid_ensemble_results['metadata']['platform_processor'] = platform.processor()
+                object.grid_ensemble_results['metadata']['platform_python_build'] = platform.python_build()
+                object.grid_ensemble_results['metadata']['platform_python_version'] = platform.python_version()
+            except:
+                pass
+
             # add max memory use of the grid
             try:
                 object.grid_ensemble_results['metadata']['max_memory_use'] = copy.deepcopy(sum(shared_memory["max_memory_use_per_thread"]))
-- 
GitLab