Esempio n. 1
0
def process(data):
    apatHdr = header.convert(data)
    if not apatHdr:
        log.error("APAT Header error")
        apatHdr = dict()

    result = dict()

    for k, v in data.iteritems():
        if k in apatHdr:
            continue

        # Check Pattern
        if isinstance(v, (str, unicode)):
            if re.match('^([1-9]\d+|\d)$', v):
                result[k] = IntegerType(v)
            elif re.match('^(\d+)[.,](\d+)$', v):
                result[k] = FloatType(v)
            else:
                result[k] = v
        else:
            result[k] = v

    result.update(apatHdr)

    return result
Esempio n. 2
0
def process(data):
    apatHdr = header.convert(data)
    if not apatHdr:
        log.error("APAT Header error")
        return None

    msgBody = format.convert(data)
    if not msgBody:
        log.warn("Cannot find message body")
        return None

    hdrReport = apatHdr.get("__validityReport", {})
    bodyReport = msgBody.get("__validityReport", {})
    bodyReport.update(hdrReport)

    result = dict(apatHdr)
    result.update(msgBody)

    tmp = data.copy()
    for key in result.keys():
        try:
            tmp.pop(key)
        except Exception, e:
            pass