• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python xmlrpclib.dumps函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中xmlrpclib.dumps函数的典型用法代码示例。如果您正苦于以下问题:Python dumps函数的具体用法?Python dumps怎么用?Python dumps使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了dumps函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: do_POST

 def do_POST(self):
     try:
         # get arguments
         data = self.rfile.read(int(self.headers["content-length"]))
         params, method = xmlrpclib.loads(data)
         if debug:
             print "method:", repr(method)
             print "params:", repr(params)
         # generate response
         try:
             response = self.call(method, params)
             if debug:
                 print 'call response: %r' % response
             if type(response) != type(()):
                 response = (response,)
         except:
             # report exception back to server
             response = xmlrpclib.dumps(
                 xmlrpclib.Fault(1, "%s:%s" % (sys.exc_type,
                                               sys.exc_value)))
         else:
             response = xmlrpclib.dumps(response,
                                        methodresponse=1)
     except Exception, e:
         # internal error, report as HTTP server error
         self.send_response(500)
         self.end_headers()
开发者ID:mcruse,项目名称:monotone,代码行数:27,代码来源:listeners.py


示例2: continue_request

	def continue_request (self, data, request):
		params, method = xmlrpclib.loads (data)
		try:
			# generate response
			try:
				response = self.call (method, params)
				#if type(response) == type(()):
				response = (response,)
			except:
				# report exception back to server
				response = xmlrpclib.dumps (
					xmlrpclib.Fault (1, "%s:%s" % (sys.exc_type, sys.exc_value))
					)
			else:
				response = xmlrpclib.dumps (response, methodresponse=1)
		except:
			import traceback
			traceback.print_exc()
			# internal error, report as HTTP server error
			request.error (500)
		else:
			# got a valid XML RPC response
			request['Content-Type'] = 'text/xml'
			request.push (response)
			request.done()
开发者ID:Lukc,项目名称:ospace-lukc,代码行数:25,代码来源:xmlrpc_handler.py


示例3: execute

    def execute (self, request=sys.stdin, response=sys.stdout,
                        meta=None):
        """processes a request and dispatches the call"""
        
        if not meta:
            meta = {}

        meta['xmlrpcserver'] = self

        params = method = result = None

        try:
            params, rpccall = xmlrpclib.loads(request.read())
        except:
            response.write(
                xmlrpclib.dumps(xmlrpclib.Fault
                                (-32000, self.systemerrors[-32000]),
                                methodresponse = True))
            return

        try:

            result = self.resolve(rpccall)(meta, *params)

            response.write(
                xmlrpclib.dumps((result,), methodresponse = True,
                                allow_none=True))
        except xmlrpclib.Fault, fault:
            response.write(
                xmlrpclib.dumps(fault, methodresponse = True))
开发者ID:dotmpe,项目名称:permascroll,代码行数:30,代码来源:xmlrpcserver.py


示例4: test_xml_loads

def test_xml_loads():
    """
    Test the `ipalib.rpc.xml_loads` function.
    """
    f = rpc.xml_loads
    params = (binary_bytes, utf8_bytes, unicode_str, None)
    wrapped = rpc.xml_wrap(params, API_VERSION)

    # Test un-serializing an RPC request:
    data = dumps(wrapped, b'the_method', allow_none=True)
    (p, m) = f(data)
    assert_equal(m, u'the_method')
    assert_equal(p, params)

    # Test un-serializing an RPC response:
    data = dumps((wrapped,), methodresponse=True, allow_none=True)
    (tup, m) = f(data)
    assert m is None
    assert len(tup) == 1
    assert type(tup) is tuple
    assert_equal(tup[0], params)

    # Test un-serializing an RPC response containing a Fault:
    for error in (unicode_str, u'hello'):
        fault = Fault(69, error)
        data = dumps(fault, methodresponse=True, allow_none=True, encoding='UTF-8')
        e = raises(Fault, f, data)
        assert e.faultCode == 69
        assert_equal(e.faultString, error)
        assert type(e.faultString) is unicode
开发者ID:andygabby,项目名称:freeipa,代码行数:30,代码来源:test_rpc.py


示例5: test_xmlrpc_marshal

 def test_xmlrpc_marshal(self):
     from supervisor import xmlrpc
     data = xmlrpc.xmlrpc_marshal(1)
     self.assertEqual(data, xmlrpclib.dumps((1,), methodresponse=True))
     fault = xmlrpclib.Fault(1, 'foo')
     data = xmlrpc.xmlrpc_marshal(fault)
     self.assertEqual(data, xmlrpclib.dumps(fault))
开发者ID:liquidmetal,项目名称:supervisor,代码行数:7,代码来源:test_xmlrpc.py


示例6: test_kwargs

    def test_kwargs(self):
        xml = dumps((1, 2), 'kwargstest')
        ret = self.dispatcher.dispatch(xml)
        out, name = loads(ret)
        self.assertFalse(out[0])

        ret = self.dispatcher.dispatch(xml, c=1)
        out, name = loads(ret)
        self.assertTrue(out[0])
        
        xml = dumps((1,),'requestargtest')
        ret = self.dispatcher.dispatch(xml, request=True)
        out, name = loads(ret)
        self.assertTrue(out[0])
        
        xml = """<?xml version='1.0'?>
<methodCall>
<methodName>withoutargstest</methodName>
<params>
</params>
</methodCall>
        """
        ret = self.dispatcher.dispatch(xml, request='fakerequest')
        out, name = loads(ret)
        self.assertTrue(out[0])
开发者ID:ngaranko,项目名称:rpc4django,代码行数:25,代码来源:test_xmlrpcdispatcher.py


示例7: Dispatch

def Dispatch(req, method, args):
    # Default configuration
    defcfg = {'xmlrpc_server': { 'datadir':     '/var/lib/rteval',
                                 'db_server':   'localhost',
                                 'db_port':     5432,
                                 'database':    'rteval',
                                 'db_username': 'rtevxmlrpc',
                                 'db_password': 'rtevaldb'
                                 }
              }

    # Fetch configuration
    cfg = rtevalConfig(defcfg)
    cfg.Load(append=True)

    # Prepare an object for executing the query
    xmlrpc = XMLRPC_API1(config=cfg.GetSection('xmlrpc_server'))

    # Exectute it
    result = xmlrpc.Dispatch(method, args)

    # Send the result
    if type(result) == types.TupleType:
        req.write(dumps(result, None, methodresponse=1))
    else:
        req.write(dumps((result,), None, methodresponse=1))
开发者ID:alistairyves,项目名称:rteval,代码行数:26,代码来源:rteval_xmlrpc.py


示例8: test_normal

    def test_normal(self):

        from pyramid_xmlrpc import XMLRPCView

        class Test(XMLRPCView):
            def a_method(self, param):
                return param

        # set up a request
        param = 'what'
        import xmlrpclib
        packet = xmlrpclib.dumps((param,), methodname='a_method')
        request = testing.DummyRequest()
        request.body = packet
        request.content_length = len(packet)

        # instantiate the view
        context = testing.DummyModel()
        instance = Test(context, request)

        # these are fair game for the methods to use if they want
        self.failUnless(instance.context is context)
        self.failUnless(instance.request is request)

        # exercise it
        response = instance()
        self.assertEqual(response.body, xmlrpclib.dumps((param,),
                                                        methodresponse=True))
开发者ID:EvaSDK,项目名称:pyramid_xmlrpc,代码行数:28,代码来源:tests.py


示例9: _system_methodSignature

 def _system_methodSignature(self, *p, **kw):
     try:
         method = self._find_method(p[0])
         rpcresponse = xmlrpclib.dumps((method.signatures,), methodresponse=1)
     except:
         rpcresponse = xmlrpclib.dumps(('Invalid method',), methodresponse=1)
     return rpcresponse
开发者ID:TurboGears,项目名称:tgext.xmlrpc,代码行数:7,代码来源:controllers.py


示例10: RPC_handler

    def RPC_handler(self, data):
        "Handler for incoming remote procedure calls"
        try:
            if self.stage == XMLRPC_STAGE_ZERO:
                self.stage = XMLRPC_STAGE_ONE  # Get client's headers out of the buffer
            elif self.stage == XMLRPC_STAGE_ONE:
                self.stage = XMLRPC_STAGE_TWO

                params, method = xmlrpclib.loads(data)
                if isinstance(params[0], type({})):
                    aside = params[0]
                    aside['_socket'] = self._sock
                    aside['_socket_info'] = (self.host, self.port)
                    params = (aside,)
                result = self.rpc_dispatch(method, params)
                if getattr(result, 'faultCode', None) is not None:
                    response = xmlrpclib.dumps(result)
                else:
                    response = xmlrpclib.dumps(result, methodresponse=1)

        except:
            response = xmlrpclib.dumps(xmlrpclib.Fault(1, "Socker(tm): %s" % traceback.format_exc()))

        if self.stage == XMLRPC_STAGE_TWO:
            final_output = ["HTTP/1.1 200 OK", "Server: BlueBridge Socker(tm)", "Content-Length: %i" % len(response), "Connection: close", "Content-Type: text/xml", "", response]
            self.send('\n'.join(final_output))
            self.terminate()
开发者ID:Aharobot,项目名称:spade,代码行数:27,代码来源:socker.py


示例11: do_POST

    def do_POST(self):
        try:
            # get arguments
            data = self.rfile.read(int(self.headers["content-length"]))
            params, method = xmlrpclib.loads(data)

            # generate response
            try:
                response = self.call(method, params)
                # wrap response in a singleton tuple
                response = (response,)
            except:
                # report exception back to server
                response = xmlrpclib.dumps(xmlrpclib.Fault(1, "%s:%s" % sys.exc_info()[:2]))
            else:
                response = xmlrpclib.dumps(response, methodresponse=1)
        except:
            # internal error, report as HTTP server error
            self.send_response(500)
            self.end_headers()
        else:
            # got a valid XML RPC response
            self.send_response(200)
            self.send_header("Content-type", "text/xml")
            self.send_header("Content-length", str(len(response)))
            self.end_headers()
            self.wfile.write(response)

            # shut down the connection (from Skip Montanaro)
            self.wfile.flush()
            self.connection.shutdown(1)
开发者ID:pacoqueen,项目名称:ginn,代码行数:31,代码来源:parse_mdblogic.py


示例12: process

    def process(self):
        """
        Processes the xmlrpc request.
        """
        response = self._request.getResponse()
        # XML-RPC starts here
        try:
            # Get parameters
            params, method = xmlrpclib.loads(self._data)
            params = list(params)
            params.insert(0, self._request)
            params = tuple(params)

            try:
                # Call the method
                result = self.xmlrpcCall(method, params)
                if type(result) != type (()):
                    result = (result,)
            except xmlrpclib.Fault, faultobj:
                # Throw an xmlrpc exception
                result = xmlrpclib.dumps(faultobj)
            except:
                # Format other exceptions into xmlrpc faults
                result = xmlrpclib.dumps(xmlrpclib.Fault(1, '%s:%s' %
                        (sys.exc_type, sys.exc_value)))
            else:
                # Passed.
                result = xmlrpclib.dumps(result, methodresponse=1)
开发者ID:hylom,项目名称:fusuma,代码行数:28,代码来源:xmlrpc.py


示例13: dispatch

    def dispatch(self, data, **kwargs):
        """
        Extracts the xml marshaled parameters and method name and calls the
        underlying method and returns either an xml marshaled response
        or an XMLRPC fault

        Although very similar to the superclass' _marshaled_dispatch, this
        method has a different name due to the different parameters it takes
        from the superclass method.
        """

        try:
            params, method = xmlrpc.xmlrpc_client.loads(data)

            try:
                response = self._dispatch(method, params, **kwargs)
            except TypeError:
                # Catch unexpected keyword argument error
                response = self._dispatch(method, params)

            # wrap response in a singleton tuple
            response = (response,)
            response = dumps(response, methodresponse=1,
                             allow_none=self.allow_none,
                             encoding=self.encoding)
        except Fault as fault:
            response = dumps(fault, allow_none=self.allow_none,
                             encoding=self.encoding)
        except Exception:
            response = dumps(
                Fault(1, 'Unknown error'),
                encoding=self.encoding, allow_none=self.allow_none,
            )

        return response
开发者ID:QuantumSpatialInc,项目名称:rpc4django,代码行数:35,代码来源:xmlrpcdispatcher.py


示例14: dispatch

 def dispatch(self, data, **kwargs):
     """
     Extracts the xml marshaled parameters and method name and calls the
     underlying method and returns either an xml marshaled response
     or an XMLRPC fault
     
     Although very similar to the superclass' _marshaled_dispatch, this
     method has a different name due to the different parameters it takes
     from the superclass method.
     """
     
     try:
         params, method = xmlrpclib.loads(data)
         
         try:
             response = self._dispatch(method, params, **kwargs)
         except TypeError as e:
             # XXX: Hack!
             if "unexpected keyword" in "%s" % e:
                 # Catch unexpected keyword argument error
                 response = self._dispatch(method, params)
             else:
                 raise
         
         # wrap response in a singleton tuple
         response = (response,)
         response = xmlrpclib.dumps(response, methodresponse=1,
                                    allow_none=self.allow_none, 
                                    encoding=self.encoding)
     except Fault, fault:
         logger.warn("Got fault when processing method %s" % method)
         traceback.print_exc()
         response = xmlrpclib.dumps(fault, allow_none=self.allow_none,
                                    encoding=self.encoding)
开发者ID:CarolinaFernandez,项目名称:ocf-expedient-ro,代码行数:34,代码来源:xmlrpcdispatcher.py


示例15: main

def main(request):
    params, method = xmlrpclib.loads(request.data)

    try:
        fn = eval(method)
    except:
        fn = None
        result = xmlrpclib.Fault(1, "Function '%s' not found" % method)
        response = xmlrpclib.dumps(result)
    
    if fn:
        try:
            result = fn(request, *params)
            if result == None:
                result = ""
            response = xmlrpclib.dumps((result,), methodresponse=1)
        except:
            result = xmlrpclib.Fault(1, "%s:%s" % (sys.exc_type, sys.exc_value))
            response = xmlrpclib.dumps(result)
            raise

    request.send_response(200)
    request.send_header("Content-type", "text/xml")
    request.send_header("Content-length", str(len(response)))
    request.end_headers()
    request.wfile.write(response)
开发者ID:joehewitt,项目名称:devon,代码行数:26,代码来源:call.py


示例16: do_POST

    def do_POST(self):
        # Simplified version of SimpleXMLRPCRequestHandler.do_POST
        l = int(self.headers["Content-Length"])
        request_txt = self.rfile.read(l)
        params, func = xmlrpclib.loads(request_txt)
        if self.path not in peers:
            self.send_response(404)
            self.end_headers()
            return
        self.send_response(200)
        self.end_headers()

        peer = peers[self.path]
        try:
            if not hasattr(peer, func):
                raise "No such method"
            result = getattr(peer, func)(*params)
            response = xmlrpclib.dumps((result,))
        except:
            exc_type, exc_value, exc_tb = sys.exc_info()
            response = xmlrpclib.dumps(
                xmlrpclib.Fault(1, "%s:%s" % (exc_type, exc_value)),
                )
        # need to call a function with (*params)
        self.wfile.write(response)
开发者ID:djs55,项目名称:drbd-manager,代码行数:25,代码来源:drbd.py


示例17: _marshaled_dispatch

    def _marshaled_dispatch(self, data, dispatch_method = None):
        params, method = xmlrpclib.loads(data)
        try:
            if dispatch_method is not None:
                response = dispatch_method(method, params)
            else:
                response = self._dispatch(method, params)

            # With either Unicode or normal strings, we can only transmit
            # \t, \n, \r, \u0020-\ud7ff, \ue000-\ufffd, and \u10000-\u10ffff
            # in an XML document.  xmlrpclib does not escape these values
            # properly, and then breaks when it comes to parse the document.
            # To hack around this problem, we use repr here and exec above
            # to transmit the string using Python encoding.
            # Thanks to David Mertz <[email protected]> for the trick (buried
            # in xml_pickle.py).
            if (isinstance(response, types.StringType) or
                isinstance(response, unicode)):
                response = repr(response)[1:-1]

            response = (response,)
            response = xmlrpclib.dumps(response,
                                       methodresponse=1,
                                       allow_none=1)
        except xmlrpclib.Fault, fault:
            response = xmlrpclib.dumps(fault)
开发者ID:andreiw,项目名称:xen3-arm-tegra,代码行数:26,代码来源:xmlrpclib2.py


示例18: do_POST

 def do_POST(s):
     s.do_HEAD()
     clen = int( s.headers.getheader( "content-length" ) )
     body = s.rfile.read( clen )
     d = cgi.parse_qs( body )
     try:
         uli_string = d.get( "ULI", d.get( "uli", d.get( "Uli", [None] )))[0]
     except KEYERROR:
         uli_string = None
     try:
         (args,func_name) = xmlrpclib.loads( body )
         if func_name == "uli":
             uli_result = s.server.dingding.uli.uli( args[0] )
             s.wfile.write( xmlrpclib.dumps( (uli_result,) ) )
             return
         s.wfile.write( xmlrpclib.dumps( (1,) ) ) # auto response, for now
         if func_name == "subscribe":
             s.handle_xmlrpc_subscribe( *args )
         elif func_name == "unsubscribe":
             s.handle_xmlrpc_unsubscribe( *args )
     except ExpatError:
         pass
     if uli_string != None:
         s.wfile.write( s.server.dingding.uli.uli( uli_string ) )
         return
开发者ID:BackupTheBerlios,项目名称:onebigsoup-svn,代码行数:25,代码来源:dingding.py


示例19: respondToPost

    def respondToPost(self, transaction):
        """Respond to a Post request.

        This is similar to the xmlrpcserver.py example from the xmlrpc
        library distribution, only it's been adapted to work within a
        WebKit servlet.

        """
        try:
            # get arguments
            data = transaction.request().rawInput(rewind=1).read()
            encoding = _getXmlDeclAttr(data, "encoding")
            params, method = xmlrpclib.loads(data)

            # generate response
            try:
                # This first test helps us to support PythonWin, which uses
                # repeated calls to __methods__.__getitem__ to determine the
                # allowed methods of an object.
                if method == "__methods__.__getitem__":
                    response = self.exposedMethods()[params[0]]
                else:
                    response = self.call(method, *params)
                if not isinstance(response, tuple):
                    response = (response,)
            except xmlrpclib.Fault, fault:
                response = xmlrpclib.dumps(fault, encoding=encoding, allow_none=self.allow_none)
                self.sendOK("text/xml", response, transaction)
                self.handleException(transaction)
            except Exception, e:
                fault = self.resultForException(e, transaction)
                response = xmlrpclib.dumps(xmlrpclib.Fault(1, fault), encoding=encoding, allow_none=self.allow_none)
                self.sendOK("text/xml", response, transaction)
                self.handleException(transaction)
开发者ID:akkmzack,项目名称:RIOS-8.5,代码行数:34,代码来源:XMLRPCServlet.py


示例20: test_serialize_request

def test_serialize_request(methodname, *args):
    for arg in args:
        try:
            xmlrpclib.dumps((arg,), methodresponse=True, methodname=methodname)
        except Exception as e:
            print "Could not serialize arg %s" % str(arg)
            raise e
开发者ID:ZhiLiu,项目名称:sts,代码行数:7,代码来源:rpc_forker.py



注:本文中的xmlrpclib.dumps函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python xmlrpclib.getparser函数代码示例发布时间:2022-05-26
下一篇:
Python xmlrpclib._Method函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap