Source code for hippylib.utils.parameterList

# Copyright (c) 2016-2018, The University of Texas at Austin 
# & University of California, Merced.
#
# All Rights reserved.
# See file COPYRIGHT for details.
#
# This file is part of the hIPPYlib library. For more information and source code
# availability see https://hippylib.github.io.
#
# hIPPYlib is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License (as published by the Free
# Software Foundation) version 2.0 dated June 1991.

from __future__ import absolute_import, division, print_function

[docs]class ParameterList(object): """ A small abstract class for storing parameters and their description. This class will raise an exception if the key one tries to access is not present. """ def __init__(self, data): """ data is a dictionary where each value is the pair (value, description) """ self.data = data def __getitem__(self,key): if self.data.__contains__(key): return self.data[key][0] else: raise ValueError(key) def __setitem__(self,key, value): if self.data.__contains__(key): self.data[key][0] = value else: raise ValueError(key)
[docs] def showMe(self, indent=""): for k in sorted(self.data.keys()): print( indent, "---") if type(self.data[k][0]) == ParameterList: print( indent, k, "(ParameterList):", self.data[k][1] ) self.data[k][0].showMe(indent+" ") else: print( indent, k, "({0}):".format(self.data[k][0]), self.data[k][1] ) print( indent, "---")