コード例 #1
0
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})
コード例 #2
0
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})