From 1425532314b687fb80b845b4b31118d84753763b Mon Sep 17 00:00:00 2001
From: Mikkel Strange <mikst@fysik.dtu.dk>
Date: Tue, 27 Sep 2016 11:05:48 +0200
Subject: [PATCH] estimating program version from the fileversion number

---
 parser/parser-gpaw/parser.py   |  4 ++--
 parser/parser-gpaw/versions.py | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 parser/parser-gpaw/versions.py

diff --git a/parser/parser-gpaw/parser.py b/parser/parser-gpaw/parser.py
index 858d909..8717eed 100644
--- a/parser/parser-gpaw/parser.py
+++ b/parser/parser-gpaw/parser.py
@@ -9,7 +9,7 @@ from nomadcore.local_meta_info import loadJsonFile, InfoKindEl
 from nomadcore.parser_backend import JsonParseEventsWriterBackend
 from tar import Reader
 from libxc_names import get_libxc_xc_names
-
+from versions import get_prog_version
 
 @contextmanager
 def open_section(p, name):
@@ -43,7 +43,7 @@ def parse(filename):
 
     with o(p, 'section_run'):
         p.addValue('program_name', 'GPAW')
-        p.addValue('program_version', '1.0.0')
+        p.addValue('program_version', get_prog_version(r.version))
         if r.Mode == 'pw':
             p.addValue('program_basis_set_type', 'plane waves')
             with o(p, 'section_basis_set_cell_dependent'):
diff --git a/parser/parser-gpaw/versions.py b/parser/parser-gpaw/versions.py
new file mode 100644
index 0000000..6530b41
--- /dev/null
+++ b/parser/parser-gpaw/versions.py
@@ -0,0 +1,15 @@
+f2p_version = {6: '1.1.0',
+               5: '0.11.0',
+               3: '0.10.0'}
+
+
+def get_prog_version(version):
+    if isinstance(version, int):
+        return f2p_version[version]
+    else:
+        return '0.9.0'
+
+
+if __name__ == '__main__':
+    print(get_prog_version(6))
+    print(get_prog_version(0.3))
-- 
GitLab