Ñò ÇPNc@s2ddkZddklZddklZddkZddkZddkZddkZddkZddk Z ddk Z ddk Z yddk Z Wne j o dZ nXd„Zd„Zdeifd„ƒYZdeifd „ƒYZd eiefd „ƒYZd efd „ƒYZdS(iÿÿÿÿN(tFault(tUSE_UNIX_SOCKETScCs4d|iƒjodSd|iƒjodSdS(Ntjsonrpcg@tidgð?(tkeystNone(trequest((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyt get_versions cCst|ƒtij otddt|ƒƒ}|S|iddƒ}t|ƒ}|ptdd|d|ƒ}|S|idgƒ|iddƒ}|idƒ}tititi f}| p)t|ƒti jpt|ƒ|jotddd|ƒ}|St S( Ni¨€ÿÿsRequest must be {}, not %s.RsRequest %s invalid.trpcidtparamstmethods%Invalid request parameters or method.( ttypettypestDictTypeRtgetRRt setdefaulttListTypet TupleTypet StringTypestTrue(RtfaultRtversionR R t param_types((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pytvalidate_requests& tSimpleJSONRPCDispatchercBs2eZdd„Zdd„Zd„Zd„ZRS(cCs tii|dtd|ƒdS(Nt allow_nonetencoding(tSimpleXMLRPCServertSimpleXMLRPCDispatchert__init__R(tselfR((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyR3sc Cs|d}yti|ƒ}Wn;tj o/}tdd||fƒ}|iƒ}|SX|ptddƒ}|iƒSt|ƒtijo±g}xt|D]l}t |ƒ} t| ƒtjo|i | iƒƒq›n|i |ƒ} | dj o|i | ƒq›q›Wt |ƒdjoddi |ƒ}qxd}n:t |ƒ} t| ƒtjo | iƒS|i |ƒ}|S( NiD€ÿÿsRequest %s invalid. (%s)i¨€ÿÿs#Request invalid -- no request data.is[%s]t,t(Rt jsonrpclibtloadst ExceptionRtresponseR R RRtappendt_marshaled_single_dispatchtlentjoin( Rtdatatdispatch_methodR$RteRt responsest req_entrytresultt resp_entry((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyt_marshaled_dispatch8s:       c Cs|idƒ}|idƒ}y|i||ƒ}Wn<tiƒ\}}}tdd||fƒ}|iƒSXd|iƒjp|ddjodSy'ti |dt d|dƒ}|SWn<tiƒ\}}}tdd||fƒ}|iƒSXdS(NR R i¥€ÿÿs%s:%sRtmethodresponseR( Rt _dispatchtsystexc_infoRR$RRR!tdumpsR( RRR R R$texc_typet exc_valuetexc_tbR((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyR&Ys& $  cCsad}y|i|}Wn€tj ot|idj o]t|idƒo|ii||ƒSyti|i|tƒ}Wq•t j oq•XqšnX|dj o¥y:t |ƒt i jo||Œ}n ||}|SWq]t j otddƒStiƒiƒ}d|d|df}tidd|ƒ}|SXntd d |ƒSdS( NR2i¦€ÿÿsInvalid parameters.s%s | %siýÿÿÿiÿÿÿÿi¥€ÿÿsServer error: %si§€ÿÿsMethod %s not supported.(RtfuncstKeyErrortinstancethasattrR2Rtresolve_dotted_attributeRtAttributeErrorR R Rt TypeErrorRt tracebackt format_exct splitlinesR!(RR R tfuncR$t err_linest trace_stringR((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyR2ts:      N(t__name__t __module__RRR0R&R2(((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyR1s  ! tSimpleJSONRPCRequestHandlercBseZd„ZRS(c Cs§|iƒp|iƒdSyœd}t|idƒ}g}xH|o@t||ƒ}|i|ii|ƒƒ|t|dƒ8}qAWdi |ƒ}|i i |ƒ}|i dƒWnnt j ob}|i dƒtiƒiƒ}d|d |df} tid d | ƒ} | iƒ}nX|djo d}n|id d ƒ|idtt|ƒƒƒ|iƒ|ii|ƒ|iiƒ|iidƒdS(Ni iscontent-lengthiÿÿÿÿR iÈiôs%s | %siýÿÿÿi¥€ÿÿsServer error: %ss Content-typesapplication/json-rpcsContent-lengthii(i (tis_rpc_path_validt report_404tinttheaderstminR%trfiletreadR'R(tserverR0t send_responseR#R@RARBR!RR$Rt send_headertstrt end_headerstwfiletwritetflusht connectiontshutdown( Rtmax_chunk_sizetsize_remainingtLt chunk_sizeR)R$R+RDRER((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pytdo_POSTšs:       (RFRGR^(((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyRH—stSimpleJSONRPCServercBs)eZeZeedeeid„ZRS(c CsR||_ti||ƒti}||_tob|tijoRt i i |ƒo;yt i |ƒWqt j otid|ƒqXq”n|ddjo+|ddjotii|||ƒntii||||ƒtdj oXttdƒoHti|iƒtiƒ}|tiO}ti|iƒti|ƒndS(NsCould not unlink socket %siiiit FD_CLOEXEC(t logRequestsRRR3t version_infotaddress_familyRtsockettAF_UNIXtostpathtexiststunlinktOSErrortloggingtwarningt SocketServert TCPServertfcntlRR<tfilenotF_GETFDR`tF_SETFD( RtaddrtrequestHandlerRaRtbind_and_activateRctvitflags((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyR¼s$   " N( RFRGRtallow_reuse_addressRHRRdtAF_INETR(((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyR_¸s tCGIJSONRPCRequestHandlercBs#eZdd„Zd„ZeZRS(cCsti||ƒdS(N(RR(RR((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyRÛscCs8|i|ƒ}dGHdt|ƒGHHtii|ƒdS(Ns"Content-Type: application/json-rpcsContent-Length: %d(R0R'R3tstdoutRV(Rt request_textR$((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pythandle_jsonrpcÞs N(RFRGRRR}t handle_xmlrpc(((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyRzÙs  (R!Rtjsonrpclib.jsonrpcRRRmRdRkRfR R@R3Rot ImportErrorRRRRRtSimpleXMLRPCRequestHandlerRHRnR_Rz(((sD/usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.pyts*            f !