mò DµMc@s‘dZdkZdklZdklZdklZdkiZdk i Z d„Z d„Z ddd „Z e d „Zd „Zd „ZdS( s¢ This file is part of the web2py Web Framework Copyrighted by Massimo Di Pierro License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html) N(sStorage(sTAG(s xmlescapecCst|dƒot|iƒo|iƒSnt|tititifƒo|iƒd i ddƒSn—t|t t fƒot |ƒSnst|dƒot|i ƒo|i ƒSnEt|dƒot|i ƒo|i ƒSntt|ƒdƒ‚dS(Nt custom_jsonitTt tas_listtas_dicts is not JSON serializable(thasattrtotcallableRt isinstancetdatetimetdatettimet isoformattreplacetinttlongRRt TypeErrortrepr(R((t;/home/camdpams_www/Products_Activation/gluon/serializers.pyR s "  cCsgt|dƒot|iƒo|iƒSn6t|ttfƒoLt|g}|i ƒD]&\}}|t|t |dƒƒq\~ŒSnÔt|tƒo?t|g}|D]}|tit |dƒƒq²~ŒSn…t|dƒo-t|iƒott |iƒdƒƒSnHt|dƒo-t|iƒott |iƒdƒƒSn t|ƒSdS(Nt custom_xmltRR(RtvalueRRRtdicttStoragetTAGtkeyt_[1]titemstktvtxml_rectlisttitemRtstrRt xmlescape(RRRRR R((RRs L?  sUTF-8tdocumentcCsd|tt||ƒƒS(Ns#(tencodingR!RRR(RR$R((Rtxml-scCsti|d|ƒS(Ntdefault(t simplejsontdumpsRR&(RR&((Rtjson1scCsdS(NR((R((Rtcsv5scCsëd|jod|jo|d|d