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


Python DbClient.getInboxMessages方法代码示例

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


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

示例1: servePage

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getInboxMessages [as 别名]
	def servePage(self, view, url, params):
		DbClient.exportAvatars(Config.getWebCacheDir())
		if url == "/send":
			print("send message of type '%(messageType)s' to id '%(sendTo)s'" % params)
		elif url.startswith("/delete/"):
			DbClient.deleteMessageFromInbox(params.get("msgId", ""))
		# Make dictionary to convert ids to names
		contactNames = {c['torid']:c['displayName'] for c in DbClient.getContactList()}
		unknownSender = I18nManager.getText("messages.sender.unknown")
		unknownRecpt = I18nManager.getText("messages.recpt.unknown")
		# Get contact requests, responses and mails from inbox
		conreqs = []
		conresps = []
		mails = []
		for m in DbClient.getInboxMessages():
			m['msgId'] = str(m.get("_id", ""))
			if m['messageType'] == "contactrequest":
				conreqs.append(m)
			elif m['messageType'] == "contactrefer":
				senderId = m.get('fromId', None)
				m['senderName'] = contactNames.get(senderId, unknownSender)
				conreqs.append(m)
			elif m['messageType'] == "contactresponse":
				if not m.get('accepted', False):
					m['messageBody'] = I18nManager.getText("messages.contactrequest.refused")
					m['fromName'] = DbClient.getProfile(m['fromId'], True).get("displayName")
				elif not m.get('messageBody', False):
					m['messageBody'] = I18nManager.getText("messages.contactrequest.accepted")
				conresps.append(m)
			else:
				senderId = m.get('fromId', None)
				if not senderId and m.get('signatureKeyId', None):
					senderId = DbClient.findUserIdFromKeyId(m['signatureKeyId'])
				m['senderName'] = contactNames.get(senderId, unknownSender)
				m['sentTimeStr'] = self.makeLocalTimeString(m['timestamp'])
				# Split m['recipients'] by commas, and look up each id with contactNames
				recpts = m.get('recipients', '')
				if recpts:
					m['recipients'] = ", ".join([contactNames.get(i, unknownRecpt) for i in recpts.split(",")])
				else:
					m['recipients'] = unknownRecpt
				mails.append(m)
		bodytext = self.messagestemplate.getHtml({"contactrequests":conreqs, "contactresponses":conresps,
			"mails":mails, "nummessages":len(conreqs)+len(conresps)+len(mails),
			"webcachedir" : Config.getWebCacheDir()})
		contents = self.buildPage({'pageTitle' : I18nManager.getText("messages.title"),
			'pageBody' : bodytext,
			'pageFooter' : "<p>Footer</p>"})
		view.setHtml(contents)
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:51,代码来源:pages.py

示例2: getContactRequestDetails

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getInboxMessages [as 别名]
	def getContactRequestDetails(torId):
		'''Use all the received contact requests for the given id, and summarize the name and public key'''
		# Set up empty name / publicKey
		nameList = set()
		keyList = set()
		# Loop through all contact requests and contact refers for the given torid
		for m in DbClient.getInboxMessages():
			if m["messageType"] == "contactrequest" and m["fromId"] == torId:
				nameList.add(m.get("fromName", None))
				keyList.add(m.get("publicKey", None))
			elif m["messageType"] == "contactrefer" and m["friendId"] == torId:
				nameList.add(m.get("friendName", None))
				keyList.add(m.get("publicKey", None))
		if len(keyList) != 1:
			return (None, None)	# no keys or more than one key!
		suppliedKey = keyList.pop()
		if suppliedKey is None or len(suppliedKey) < 80:
			return (None, None)	# one key supplied but it's missing or too short
		suppliedName = nameList.pop() if len(nameList) == 1 else torId
		return (suppliedName, suppliedKey)
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:22,代码来源:contactmgr.py

示例3: checkInbox

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getInboxMessages [as 别名]
	def checkInbox(self):
		'''Look in the inbox for messages'''
		messagesFound = DbClient.getInboxMessages().count()
		self.somethingInInbox = (messagesFound > 0)
		self.parent.postmanKnock() # only once
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:7,代码来源:postmen.py

示例4: _getInboxMessage

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getInboxMessages [as 别名]
	def _getInboxMessage(torId, messageType):
		for m in DbClient.getInboxMessages():
			if m["fromId"] == torId and m["messageType"] == messageType:
				return m
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:6,代码来源:contactmgr.py


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