def ps(self): pset=ParameterSet() for (k,v) in self._flatten().iteritems(): if v.__class__.__name__=="float": pset.AddDouble(k,v) elif v.__class__.__name__=="int": pset.AddInt(k,v) elif v.__class__.__name__=="str": pset.AddString(k,v) elif v.__class__.__name__=="bool": pset.AddBool(k,v) elif getattr(v, '__iter__', False): # Iterable type if not my_any([isinstance(v,t) for t in types.vector_types]): try: v=types.iterable_to_icf_type(v) except TypeError,e: print "Variable %s : %s" % (k,e) raise e func = None for t in types.vector_types: if isinstance(v, t): func = getattr(pset, "Add%s" % t.__name__[4:], None) if func: break if func: func(k, v) else: raise Exception("Cannot find C++ convertor function for iterable '%s' (type '%s')" % v.__class__.__name__) else: print "ERROR"
def ps(self): pset=ParameterSet() for (k,v) in self._flatten().iteritems(): if v.__class__.__name__=="float": pset.AddDouble(k,v) elif v.__class__.__name__=="int": pset.AddInt(k,v) elif v.__class__.__name__=="str": pset.AddString(k,v) elif v.__class__.__name__=="bool": pset.AddBool(k,v) elif getattr(v, '__iter__', False): # Iterable type if not my_any([isinstance(v,t) for t in types.vector_types]): try: v=types.iterable_to_icf_type(v) except TypeError,e: print "Variable %s : %s" % (k,e) raise e if isinstance(v,ICF_StringVector): pset.AddStringVector(k,v) elif isinstance(v,ICF_DoubleVector): pset.AddDoubleVector(k,v) elif isinstance(v,ICF_IntVector): pset.AddIntVector(k,v) elif isinstance(v,ICF_BoolVector): pset.AddBoolVector(k,v)