def from_dict(dic): if 'type' in dic and dic['type'] == SpanStats.__name__: del dic['type'] if 'address' in dic: address = AddressFactory.from_str(dic['address']) del dic['address'] return SpanStats(address, dic) raise ValueError("Do not know how to build ParamSpan from %s ", str(dic))
def from_tuple(tup): address = "" params = {} skip = True for i in tup: if skip is True: address = AddressFactory.from_tuple(i) skip = False continue if isinstance(i, tuple) and len(i) == 2: params[i[0]] = i[1] else: raise ValueError("".join( ["Unexpected tuple element. Format is: ( name, (key, (val1,val2), (key, (val1,val2), ... Found ", str(tup)])) if address is "": return None else: return SpanStats(address, params)