def _scrub(r): # if r=="1.0": # D.println("") try: if r is None or r=="": return None elif Math.is_number(r): return CNV.value2number(r) elif isinstance(r, basestring): # return r return r.lower() elif isinstance(r, dict): if isinstance(r, Struct): r=r.dict output={} for k, v in r.items(): v=_scrub(v) if v is not None: output[k.lower()]=v if len(output)==0: return None return output elif hasattr(r, '__iter__'): if isinstance(r, StructList): r=r.list output=[] for v in r: v=_scrub(v) if v is not None: output.append(v) if len(output)==0: return None try: return Q.sort(output) except Exception: return output else: return r except Exception, e: D.warning("Can not scrub: {{json}}", {"json":r})
def _scrub(r): # if r=="1.0": # D.println("") try: if r is None or r == "": return None elif Math.is_number(r): return CNV.value2number(r) elif isinstance(r, basestring): # return r return r.lower() elif isinstance(r, dict): if isinstance(r, Struct): r = r.dict output = {} for k, v in r.items(): v = _scrub(v) if v is not None: output[k.lower()] = v if len(output) == 0: return None return output elif hasattr(r, '__iter__'): if isinstance(r, StructList): r = r.list output = [] for v in r: v = _scrub(v) if v is not None: output.append(v) if len(output) == 0: return None try: return Q.sort(output) except Exception: return output else: return r except Exception, e: D.warning("Can not scrub: {{json}}", {"json": r})