當前位置: 首頁>>代碼示例>>Python>>正文


Python Client.query方法代碼示例

本文整理匯總了Python中_beatbox.Client.query方法的典型用法代碼示例。如果您正苦於以下問題:Python Client.query方法的具體用法?Python Client.query怎麽用?Python Client.query使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在_beatbox.Client的用法示例。


在下文中一共展示了Client.query方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: query

# 需要導入模塊: from _beatbox import Client [as 別名]
# 或者: from _beatbox.Client import query [as 別名]
    def query(self, *args, **kw):
        if len(args) == 1:  # full query string
            queryString = args[0]
        elif len(args) == 2:  # BBB: fields, sObjectType
            queryString = 'select %s from %s' % (args[0], args[1])
            if 'conditionalExpression' in kw:  # BBB: fields, sObjectType, conditionExpression as kwarg
                queryString += ' where %s' % (kw['conditionalExpression'])
        elif len(args) == 3:  # BBB: fields, sObjectType, conditionExpression as positional arg
            whereClause = args[2] and (' where %s' % args[2]) or ''
            queryString = 'select %s from %s%s' % (args[0], args[1], whereClause)
        else:
            raise RuntimeError("Wrong number of arguments to query method.")

        res = BaseClient.query(self, queryString)
        # calculate the union of the sets of record types from each record
        types = reduce(lambda a, b: a|b, [getRecordTypes(r) for r in res[_tPartnerNS.records:]], set())
        if not self.cacheTypeDescriptions:
            self.flushTypeDescriptionsCache()
        new_types = types - set(self.typeDescs.keys())
        if new_types:
            self.typeDescs.update(self.queryTypesDescriptions(new_types))
        data = QueryRecordSet(
            records=[self._extractRecord(r) for r in res[_tPartnerNS.records:]],
            done=_bool(res[_tPartnerNS.done]),
            size=int(str(res[_tPartnerNS.size])),
            queryLocator=str(res[_tPartnerNS.queryLocator]))
        return data
開發者ID:davisagli,項目名稱:beatbox,代碼行數:29,代碼來源:python_client.py

示例2: query

# 需要導入模塊: from _beatbox import Client [as 別名]
# 或者: from _beatbox.Client import query [as 別名]
 def query(self, queryString):
     res = BaseClient.query(self, queryString)
     locator = QueryLocator( str(res[_tPartnerNS.queryLocator]) )
     
     data = dict(queryLocator = locator,
         done = _bool(res[_tPartnerNS.done]),
         records = [self.extractRecord( r )
                    for r in res[_tPartnerNS.records:]],
         size = int(str(res[_tPartnerNS.size]))
         )
     return data
開發者ID:jeffdonthemic,項目名稱:telesales-python,代碼行數:13,代碼來源:python_client.py

示例3: query_old

# 需要導入模塊: from _beatbox import Client [as 別名]
# 或者: from _beatbox.Client import query [as 別名]
 def query_old(self, fields, sObjectType, conditionExpression=''):
     #type_data = self.describeSObjects(sObjectType)[0]
     queryString = 'select %s from %s' % (fields, sObjectType)
     if conditionExpression: queryString = '%s where %s' % (queryString, conditionExpression)
     fields = [f.strip() for f in fields.split(',')]
     res = BaseClient.query(self, queryString)
     locator = QueryLocator( str(res[_tPartnerNS.queryLocator]), )
     data = dict(queryLocator = locator,
         done = _bool(res[_tPartnerNS.done]),
         records = [self.extractRecord( r )
                    for r in res[_tPartnerNS.records:]],
         size = int(str(res[_tPartnerNS.size]))
         )
     return data
開發者ID:jeffdonthemic,項目名稱:telesales-python,代碼行數:16,代碼來源:python_client.py


注:本文中的_beatbox.Client.query方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。