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
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