From a73e689bc409fcbd00c41c5ea6f32fd3651aae37 Mon Sep 17 00:00:00 2001
From: karnem <mikhail.karnevskiy@desy.de>
Date: Mon, 24 Jun 2019 15:26:51 +0200
Subject: [PATCH] Retrieve only meta data

---
 cal_tools/cal_tools/tools.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/cal_tools/cal_tools/tools.py b/cal_tools/cal_tools/tools.py
index e1e68c158..c48c8e26d 100644
--- a/cal_tools/cal_tools/tools.py
+++ b/cal_tools/cal_tools/tools.py
@@ -465,7 +465,7 @@ already_printed = {}
 
 def get_from_db(device, constant, condition, empty_constant,
                 cal_db_interface, creation_time=None,
-                verbosity=1, timeout=30000, ntries=120):
+                verbosity=1, timeout=30000, ntries=120, meta_only=True):
     """
     Return calibration constants and metadata requested from CalDB
 
@@ -478,6 +478,8 @@ def get_from_db(device, constant, condition, empty_constant,
     :param verbosity: Level of verbosity (0 - silent)
     :param timeout: Timeout for zmq request
     :param ntries: number of tries to contact the database
+    :param meta_only: Retrieve only metadata via ZMQ. Constants are taken
+        directly from the h5 file on maxwell.
     :return: Calibration constant, metadata
     """
     from iCalibrationDB import ConstantMetaData, Versions
@@ -508,7 +510,7 @@ def get_from_db(device, constant, condition, empty_constant,
                 try:
                     metadata.retrieve(this_interface,
                                       when=creation_time.isoformat(),
-                                      timeout=6000000, meta_only=True)
+                                      timeout=6000000, meta_only=meta_only)
                     break
                 except Exception as e:
                     if verbosity > 0:
@@ -531,14 +533,14 @@ def get_from_db(device, constant, condition, empty_constant,
 
 def get_constant_from_db(device, constant, condition, empty_constant,
                          cal_db_interface, creation_time=None,
-                         print_once=True, timeout=30000, ntries=120):
+                         print_once=True, timeout=30000, ntries=120,
+                         meta_only=True):
     """
     Return calibration constants requested from CalDB
     """
     data, _ = get_from_db(device, constant, condition, empty_constant,
                           cal_db_interface, creation_time,
-                          int(print_once), timeout, ntries)
-
+                          int(print_once), timeout, ntries, meta_only)
     return data
 
 
-- 
GitLab