From 4b871568bd3f46891c708f51156d58608930bcc4 Mon Sep 17 00:00:00 2001
From: Chichi Lalescu <clalesc1@jhu.edu>
Date: Fri, 31 Jul 2015 22:47:05 +0200
Subject: [PATCH] add more detailed version info

---
 bfps/__init__.py | 11 +++++++----
 setup.py         | 21 ++++++++++++++++++---
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/bfps/__init__.py b/bfps/__init__.py
index e443bc35..435355db 100644
--- a/bfps/__init__.py
+++ b/bfps/__init__.py
@@ -38,15 +38,18 @@ try:
     lib_dir = _dist.location
     __version__ = _dist.version
 except DistributionNotFound:
-    __version__ = 'Please install this project with setup.py'
-    #import subprocess
-    #__version__ = 'git revision ' + subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip()
+    __version__ = ''
 
 machine_settings = pickle.load(
-        open(os.path.join(os.path.join(dist_loc, 'bfps'),
+        open(os.path.join(os.path.dirname(here),
                           'machine_settings.pickle'),
              'r'))
 
+version_info = pickle.load(
+        open(os.path.join(os.path.dirname(here),
+                          'version_info.pickle'),
+             'r'))
+
 from .code import code
 from .NavierStokes import NavierStokes
 from .fluid_converter import fluid_converter
diff --git a/setup.py b/setup.py
index fb573bd7..19a0302b 100644
--- a/setup.py
+++ b/setup.py
@@ -24,8 +24,8 @@ from machine_settings import include_dirs, library_dirs, extra_compile_args
 import pickle
 pickle.dump(
         {'include_dirs' : include_dirs,
-       'library_dirs' : library_dirs,
-       'extra_compile_args' : extra_compile_args},
+         'library_dirs' : library_dirs,
+         'extra_compile_args' : extra_compile_args},
         open('bfps/machine_settings.pickle', 'wb'),
         protocol = 2)
 
@@ -34,8 +34,22 @@ AUTHOR = 'Cristian C Lalescu'
 AUTHOR_EMAIL = 'Cristian.Lalescu@ds.mpg.de'
 
 import datetime
+import subprocess
+from subprocess import CalledProcessError
+
 now = datetime.datetime.now()
 date_name = '{0:0>4}{1:0>2}{2:0>2}'.format(now.year, now.month, now.day)
+
+try:
+    git_revision = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip()
+except CalledProcessError:
+    git_revision = ''
+pickle.dump(
+        {'install_date' : now,
+         'git_revision' : git_revision},
+        open('bfps/version_info.pickle', 'wb'),
+        protocol = 2)
+
 VERSION = date_name
 
 src_file_list = ['field_descriptor',
@@ -77,7 +91,8 @@ setup(
         install_requires = ['numpy>=1.8', 'matplotlib>=1.3'],
         ext_modules = [libbfps],
         package_data = {'bfps': header_list + ['../machine_settings.py',
-                                               'machine_settings.pickle']},
+                                               'machine_settings.pickle',
+                                               'version_info.pickle']},
 ########################################################################
 # useless stuff folows
 ########################################################################
-- 
GitLab