Skip to content
Snippets Groups Projects
Commit b0121c25 authored by Ger van Diepen's avatar Ger van Diepen
Browse files

bug 1627:

Added function keys
parent 8f36ec23
No related branches found
No related tags found
No related merge requests found
...@@ -76,6 +76,10 @@ class parameterset(PyParameterSet): ...@@ -76,6 +76,10 @@ class parameterset(PyParameterSet):
"""Get the parametervalue object of a parameter.""" """Get the parametervalue object of a parameter."""
return self._get (key) return self._get (key)
def keys(self):
"""Get a sorted list of all parameter names."""
return self.keywords()
def get(self, key): def get(self, key):
"""Get the parametervalue object of a parameter.""" """Get the parametervalue object of a parameter."""
return self._get (key) return self._get (key)
......
...@@ -54,6 +54,18 @@ namespace LOFAR { ...@@ -54,6 +54,18 @@ namespace LOFAR {
PyParameterSet makeSubset (const string& baseKey, const string& prefix) PyParameterSet makeSubset (const string& baseKey, const string& prefix)
{ return ParameterSet::makeSubset (baseKey, prefix); } { return ParameterSet::makeSubset (baseKey, prefix); }
// Return a sorted list of keywords.
vector<string> keywords() const
{
vector<string> result;
result.reserve (size());
for (ParameterSet::const_iterator iter=begin(); iter!=end(); ++iter) {
result.push_back (iter->first);
}
std::sort (result.begin(), result.end());
return result;
}
}; };
// Define function pointers for overloaded functions to be able to tell // Define function pointers for overloaded functions to be able to tell
...@@ -161,6 +173,7 @@ namespace LOFAR { ...@@ -161,6 +173,7 @@ namespace LOFAR {
"Get the number of parameters.") "Get the number of parameters.")
.def ("__len__", &ParameterSet::size, .def ("__len__", &ParameterSet::size,
"Get the number of parameters.") "Get the number of parameters.")
.def ("keywords", &PyParameterSet::keywords)
.def ("makeSubset", &PyParameterSet::makeSubset, .def ("makeSubset", &PyParameterSet::makeSubset,
(boost::python::arg("baseKey"), (boost::python::arg("baseKey"),
boost::python::arg("prefix")=""), boost::python::arg("prefix")=""),
......
...@@ -77,4 +77,5 @@ ps.add ("vecbool", "[true,false,true]") ...@@ -77,4 +77,5 @@ ps.add ("vecbool", "[true,false,true]")
ps.add ("vec", "[1,2,3]") ps.add ("vec", "[1,2,3]")
ps.add ("vecexp", "[1..3,5..10]") ps.add ("vecexp", "[1..3,5..10]")
ps.add ("vecnest", "[[1..3,5*10],[5..10]]") ps.add ("vecnest", "[[1..3,5*10],[5..10]]")
print ps.keys()
checkps (ps) checkps (ps)
...@@ -38,6 +38,7 @@ True ...@@ -38,6 +38,7 @@ True
[1, 2, 3, 10, 10, 10, 10, 10] [1, 2, 3, 10, 10, 10, 10, 10]
[5, 6, 7, 8, 9, 10] [5, 6, 7, 8, 9, 10]
['a.b', 'a.b.bool', 'a.b.c', 'a.b.double', 'a.b.lange_naam', 'e.g', 'egg', 'vec', 'vecbool', 'vecexp', 'vecnest']
False False
True True
7 7
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment