本文整理汇总了Python中xmlclient.Client类的典型用法代码示例。如果您正苦于以下问题:Python Client类的具体用法?Python Client怎么用?Python Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Client类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: query
def query(self, *args, **kw):
if self.cacheTypeDescriptions:
typeDescs = self.typeDescs
else:
typeDescs = {}
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())
new_types = types - set(typeDescs.keys())
if new_types:
typeDescs.update(self.queryTypesDescriptions(new_types))
data = QueryRecordSet(records=[self._extractRecord(r, typeDescs) 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:naoyak,项目名称:pyforce,代码行数:29,代码来源:pyforce.py
示例2: sendEmail
def sendEmail(self, emails, mass_type='SingleEmailMessage'):
"""
Send one or more emails from Salesforce.
Parameters:
emails - a dictionary or list of dictionaries, each representing a single email as described by https://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_sendemail.htm
massType - 'SingleEmailMessage' or 'MassEmailMessage'. MassEmailMessage is used for mailmerge of up to 250 recepients in a single pass.
Note:
Newly created Salesforce Sandboxes default to System email only. In this situation, sendEmail() will fail with NO_MASS_MAIL_PERMISSION.
"""
preparedEmails = _prepareSObjects(emails)
if isinstance(preparedEmails,dict):
# If root element is a dict, then this is a single object not an array
del preparedEmails['fieldsToNull']
else:
# else this is an array, and each elelment should be prepped.
for listitems in preparedEmails:
del listitems['fieldsToNull']
res = BaseClient.sendEmail(self, preparedEmails, mass_type)
if type(res) not in (TupleType, ListType):
res = [res]
data = list()
for resu in res:
d = dict()
data.append(d)
d['success'] = success = _bool(resu[_tPartnerNS.success])
if not success:
d['errors'] = [_extractError(e)
for e in resu[_tPartnerNS.errors:]]
else:
d['errors'] = list()
return data
开发者ID:braz,项目名称:pyforce,代码行数:33,代码来源:pyforce.py
示例3: convert_leads
def convert_leads(self, lead_converts):
preparedLeadConverts = _prepareSObjects(lead_converts)
if isinstance( preparedLeadConverts, dict ):
del preparedLeadConverts['fieldsToNull']
else:
for preppedConvert in preparedLeadConverts:
del preppedConvert['fieldsToNull']
res = BaseClient.convertLeads(self, preparedLeadConverts)
if type(res) not in (TupleType, ListType):
res = [res]
data = list()
for resu in res:
d = dict()
data.append(d)
d['success'] = success = _bool(resu[_tPartnerNS.success])
if not success:
d['errors'] = [_extractError(e)
for e in resu[_tPartnerNS.errors:]]
else:
d['errors'] = list()
d['account_id'] = str(resu[_tPartnerNS.accountId])
d['contact_id'] = str(resu[_tPartnerNS.contactId])
d['lead_id'] = str(resu[_tPartnerNS.leadId])
d['opportunity_id'] = str(resu[_tPartnerNS.opportunityId])
return data
开发者ID:rentshare,项目名称:pyforce,代码行数:25,代码来源:pyforce.py
示例4: login
def login(self, username, passwd):
res = BaseClient.login(self, username, passwd)
data = dict()
data['passwordExpired'] = _bool(res[_tPartnerNS.passwordExpired])
data['serverUrl'] = str(res[_tPartnerNS.serverUrl])
data['sessionId'] = str(res[_tPartnerNS.sessionId])
data['userId'] = str(res[_tPartnerNS.userId])
data['userInfo'] = _extractUserInfo(res[_tPartnerNS.userInfo])
return data
开发者ID:naoyak,项目名称:pyforce,代码行数:9,代码来源:pyforce.py
示例5: describeSObjects
def describeSObjects(self, sObjectTypes):
res = BaseClient.describeSObjects(self, sObjectTypes)
if type(res) not in (TupleType, ListType):
res = [res]
data = list()
for r in res:
d = dict()
d['activateable'] = _bool(r[_tPartnerNS.activateable])
rawreldata = r[_tPartnerNS.ChildRelationships,]
relinfo = [_extractChildRelInfo(cr) for cr in rawreldata]
d['ChildRelationships'] = relinfo
d['createable'] = _bool(r[_tPartnerNS.createable])
d['custom'] = _bool(r[_tPartnerNS.custom])
try:
d['customSetting'] = _bool(r[_tPartnerNS.customSetting])
except KeyError:
pass
d['deletable'] = _bool(r[_tPartnerNS.deletable])
d['deprecatedAndHidden'] = _bool(
r[_tPartnerNS.deprecatedAndHidden]
)
try:
d['feedEnabled'] = _bool(r[_tPartnerNS.feedEnabled])
except KeyError:
pass
fields = r[_tPartnerNS.fields,]
fields = [_extractFieldInfo(f) for f in fields]
field_map = dict()
for f in fields:
field_map[f.name] = f
d['fields'] = field_map
d['keyPrefix'] = str(r[_tPartnerNS.keyPrefix])
d['label'] = str(r[_tPartnerNS.label])
d['labelPlural'] = str(r[_tPartnerNS.labelPlural])
d['layoutable'] = _bool(r[_tPartnerNS.layoutable])
d['mergeable'] = _bool(r[_tPartnerNS.mergeable])
d['name'] = str(r[_tPartnerNS.name])
d['queryable'] = _bool(r[_tPartnerNS.queryable])
d['recordTypeInfos'] = ([_extractRecordTypeInfo(rti) for rti in
r[_tPartnerNS.recordTypeInfos,]])
d['replicateable'] = _bool(r[_tPartnerNS.replicateable])
d['retrieveable'] = _bool(r[_tPartnerNS.retrieveable])
d['searchable'] = _bool(r[_tPartnerNS.searchable])
try:
d['triggerable'] = _bool(r[_tPartnerNS.triggerable])
except KeyError:
pass
d['undeletable'] = _bool(r[_tPartnerNS.undeletable])
d['updateable'] = _bool(r[_tPartnerNS.updateable])
d['urlDetail'] = str(r[_tPartnerNS.urlDetail])
d['urlEdit'] = str(r[_tPartnerNS.urlEdit])
d['urlNew'] = str(r[_tPartnerNS.urlNew])
data.append(SObject(**d))
return data
开发者ID:alanjcastonguay,项目名称:pyforce,代码行数:54,代码来源:pyforce.py
示例6: describeTabs
def describeTabs(self):
res = BaseClient.describeTabs(self)
data = list()
for r in res:
tabs = [_extractTab(t) for t in r[_tPartnerNS.tabs:]]
d = dict(
label = str(r[_tPartnerNS.label]),
logoUrl = str(r[_tPartnerNS.logoUrl]),
selected = _bool(r[_tPartnerNS.selected]),
tabs=tabs)
data.append(d)
return data
开发者ID:naoyak,项目名称:pyforce,代码行数:12,代码来源:pyforce.py
示例7: getDeleted
def getDeleted(self, sObjectType, start, end):
res = BaseClient.getDeleted(self, sObjectType, start, end)
res = res[_tPartnerNS.deletedRecords:]
if type(res) not in (TupleType, ListType):
res = [res]
data = list()
for r in res:
d = dict(
id = str(r[_tPartnerNS.id]),
deletedDate = marshall('datetime', 'deletedDate', r,
ns=_tPartnerNS))
data.append(d)
return data
开发者ID:naoyak,项目名称:pyforce,代码行数:13,代码来源:pyforce.py
示例8: delete
def delete(self, ids):
res = BaseClient.delete(self, ids)
if type(res) not in (TupleType, ListType):
res = [res]
data = list()
for r in res:
d = dict()
data.append(d)
d['id'] = str(r[_tPartnerNS.id])
d['success'] = success = _bool(r[_tPartnerNS.success])
if not success:
d['errors'] = [_extractError(e)
for e in r[_tPartnerNS.errors:]]
else:
d['errors'] = list()
return data
开发者ID:naoyak,项目名称:pyforce,代码行数:16,代码来源:pyforce.py
示例9: search
def search(self, sosl):
if self.cacheTypeDescriptions:
typeDescs = self.typeDescs
else:
typeDescs = {}
res = BaseClient.search(self, sosl)
# calculate the union of the sets of record types from each record
if len(res):
types = reduce(lambda a,b: a|b, [getRecordTypes(r) for r in res[_tPartnerNS.searchRecords]], set())
new_types = types - set(typeDescs.keys())
if new_types:
typeDescs.update(self.queryTypesDescriptions(new_types))
return [self._extractRecord(r, typeDescs) for r in res[_tPartnerNS.searchRecords]]
else:
return []
开发者ID:naoyak,项目名称:pyforce,代码行数:16,代码来源:pyforce.py
示例10: update
def update(self, sObjects):
preparedObjects = _prepareSObjects(sObjects)
res = BaseClient.update(self, preparedObjects)
if type(res) not in (TupleType, ListType):
res = [res]
data = list()
for r in res:
d = dict()
data.append(d)
d['id'] = str(r[_tPartnerNS.id])
d['success'] = success = _bool(r[_tPartnerNS.success])
if not success:
d['errors'] = [_extractError(e)
for e in r[_tPartnerNS.errors,]]
else:
d['errors'] = list()
return data
开发者ID:alanjcastonguay,项目名称:pyforce,代码行数:17,代码来源:pyforce.py
示例11: retrieve
def retrieve(self, fields, sObjectType, ids):
resultSet = BaseClient.retrieve(self, fields, sObjectType, ids)
type_data = self.describeSObjects(sObjectType)[0]
if type(resultSet) not in (TupleType, ListType):
if isnil(resultSet):
resultSet = list()
else:
resultSet = [resultSet]
fields = [f.strip() for f in fields.split(',')]
data = list()
for result in resultSet:
d = dict()
data.append(d)
for fname in fields:
d[fname] = type_data.marshall(fname, result)
return data
开发者ID:naoyak,项目名称:pyforce,代码行数:17,代码来源:pyforce.py
示例12: queryMore
def queryMore(self, queryLocator):
if self.cacheTypeDescriptions:
typeDescs = self.typeDescs
else:
typeDescs = {}
locator = queryLocator
res = BaseClient.queryMore(self, locator)
# 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())
new_types = types - set(typeDescs.keys())
if new_types:
typeDescs.update(self.queryTypesDescriptions(new_types))
data = QueryRecordSet(records=[self._extractRecord(r, typeDescs) 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:naoyak,项目名称:pyforce,代码行数:18,代码来源:pyforce.py
示例13: describeGlobal
def describeGlobal(self):
res = BaseClient.describeGlobal(self)
data = dict()
data['encoding'] = str(res[_tPartnerNS.encoding])
data['maxBatchSize'] = int(str(res[_tPartnerNS.maxBatchSize]))
sobjects = list()
for r in res[_tPartnerNS.sobjects,]:
d = dict()
d['activateable'] = _bool(r[_tPartnerNS.activateable])
d['createable'] = _bool(r[_tPartnerNS.createable])
d['custom'] = _bool(r[_tPartnerNS.custom])
try:
d['customSetting'] = _bool(r[_tPartnerNS.customSetting])
except KeyError:
pass
d['deletable'] = _bool(r[_tPartnerNS.deletable])
d['deprecatedAndHidden'] = _bool(
r[_tPartnerNS.deprecatedAndHidden]
)
try:
d['feedEnabled'] = _bool(r[_tPartnerNS.feedEnabled])
except KeyError:
pass
d['keyPrefix'] = str(r[_tPartnerNS.keyPrefix])
d['label'] = str(r[_tPartnerNS.label])
d['labelPlural'] = str(r[_tPartnerNS.labelPlural])
d['layoutable'] = _bool(r[_tPartnerNS.layoutable])
d['mergeable'] = _bool(r[_tPartnerNS.mergeable])
d['name'] = str(r[_tPartnerNS.name])
d['queryable'] = _bool(r[_tPartnerNS.queryable])
d['replicateable'] = _bool(r[_tPartnerNS.replicateable])
d['retrieveable'] = _bool(r[_tPartnerNS.retrieveable])
d['searchable'] = _bool(r[_tPartnerNS.searchable])
d['triggerable'] = _bool(r[_tPartnerNS.triggerable])
d['undeletable'] = _bool(r[_tPartnerNS.undeletable])
d['updateable'] = _bool(r[_tPartnerNS.updateable])
sobjects.append(SObject(**d))
data['sobjects'] = sobjects
data['types'] = [str(t) for t in res[_tPartnerNS.types,]]
if not data['types']:
# BBB for code written against API < 17.0
data['types'] = [s.name for s in data['sobjects']]
return data
开发者ID:alanjcastonguay,项目名称:pyforce,代码行数:43,代码来源:pyforce.py
示例14: __init__
def __init__(self, serverUrl=None, cacheTypeDescriptions=False):
BaseClient.__init__(self, serverUrl=serverUrl)
self.cacheTypeDescriptions = cacheTypeDescriptions
if self.cacheTypeDescriptions:
self.typeDescs = {}
开发者ID:naoyak,项目名称:pyforce,代码行数:5,代码来源:pyforce.py
示例15: getUserInfo
def getUserInfo(self):
res = BaseClient.getUserInfo(self)
data = _extractUserInfo(res)
return data
开发者ID:naoyak,项目名称:pyforce,代码行数:4,代码来源:pyforce.py
示例16: getUpdated
def getUpdated(self, sObjectType, start, end):
res = BaseClient.getUpdated(self, sObjectType, start, end)
res = res[_tPartnerNS.ids:]
if type(res) not in (TupleType, ListType):
res = [res]
return [str(r) for r in res]
开发者ID:naoyak,项目名称:pyforce,代码行数:6,代码来源:pyforce.py
示例17: logout
def logout(self):
res = BaseClient.logout(self)
return res._name == _tPartnerNS.logoutResponse
开发者ID:alanjcastonguay,项目名称:pyforce,代码行数:3,代码来源:pyforce.py
注:本文中的xmlclient.Client类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论