当前位置: 首页>>代码示例>>Python>>正文


Python Client.call方法代码示例

本文整理汇总了Python中suds.client.Client.call方法的典型用法代码示例。如果您正苦于以下问题:Python Client.call方法的具体用法?Python Client.call怎么用?Python Client.call使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在suds.client.Client的用法示例。


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

示例1: API

# 需要导入模块: from suds.client import Client [as 别名]
# 或者: from suds.client.Client import call [as 别名]
class API(object):
    """
    Generic API to connect to magento
    """

    def __init__(self, url, username, password,
                 version='1.3.2.4', full_url=False, protocol='xmlrpc', transport=None):
        """
        This is the Base API class which other APIs have to subclass. By
        default the inherited classes also get the properties of this
        class which will allow the use of the API with the `with` statement

        A typical example to extend the API for your subclass is given below::

           from magento.api import API

            class Core(API):

                def websites(self):
                    return self.call('ol_websites.list', [])

                def stores(self):
                    return self.call('ol_groups.list', [])

                def store_views(self):
                    return self.call('ol_storeviews.list', [])

        The above real life example extends the API for the custom API
        implementation for the magento extension

            magento-community/Openlabs_OpenERPConnector

        Example usage ::

            from magento.api import API

            with API(url, username, password) as magento_api:
                return magento_api.call('customer.list', [])

        .. note:: Python with statement has to be imported from __future__
        in older versions of python. *from __future__ import with_statement*

        If you want to use the API as a normal class, then you have to manually
        end the session. A typical example is below::

            from magento.api import API

            api = API(url, username, password)
            api.connect()
            try:
                return api.call('customer.list', [])
            finally:
                api.client.endSession(api.session)

        :param url: URL to the magento instance.
                    By default the URL is treated as a base url
                    of the domain to which the api part of the URL
                    is added. If you want to specify the complete
                    URL, set the full_url flag as True.
        :param username: API username of the Web services user. Note
                    that this is NOT magento admin username
        :param password: API password of the Web services user.
        :param version: The version of magento the connection is being made to.
                        It is recommended to specify this as there could be
                        API specific changes in certain calls. Default value is
                        1.3.2.4
        :param full_url: If set to true, then the `url` is expected to
                    be a complete URL
        :param protocol: 'xmlrpc' and 'soap' are valid values
        :param transport: optional xmlrpclib.Transport subclass for
                    use in xmlrpc requests
        """
        assert protocol \
            in PROTOCOLS, "protocol must be %s" % ' OR '.join(PROTOCOLS)
        self.url = str(full_url and url or expand_url(url, protocol))
        self.username = username
        self.password = password
        self.protocol = protocol
        self.version = version
        self.transport = transport
        self.session = None
        self.client = None

    def connect(self):
        """
        Connects to the service
        but does not login. This could be used as a connection test
        """
        if self.protocol == 'xmlrpc':
            if self.transport:
                self.client = ServerProxy(
                    self.url, allow_none=True, transport=self.transport)
            else:
                self.client = ServerProxy(self.url, allow_none=True)
        else:
            self.client = Client(self.url)

    def __enter__(self):
        """
        Entry point for with statement
#.........这里部分代码省略.........
开发者ID:gusreyes01,项目名称:python-magento,代码行数:103,代码来源:api.py


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