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


Python DbClient.getOwnTorId方法代码示例

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


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

示例1: handleInitiate

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def handleInitiate(torId, displayName):
		'''We have requested contact with another id, so we can set up
		this new contact's name with a status of "requested"'''
		# TODO: If row already exists then get status (and name/displayname) and error with it
		# Add new row in db with id, name and "requested"
		if torId and torId != DbClient.getOwnTorId():
			DbClient.updateContact(torId, {'displayName':displayName, 'name':displayName,
			  'status':'requested'})
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:10,代码来源:contactmgr.py

示例2: servePage

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def servePage(self, view, url, params):
		print("Special function:", url)
		if url == "/selectprofilepic":
			# Get home directory for file dialog
			homedir = os.path.expanduser("~/")
			fname = QtGui.QFileDialog.getOpenFileName(view, I18nManager.getText("gui.dialogtitle.openimage"),
				homedir, I18nManager.getText("gui.fileselection.filetypes.jpg"))
			if fname:
				view.page().mainFrame().evaluateJavaScript("updateProfilePic('" + fname + "');")
		elif url == "/friendstorm":
			if not DbClient.hasFriends():
				view.page().mainFrame().evaluateJavaScript("window.alert('No friends :(');")
				return
			# Launch a storm
			self.bs = Brainstorm(I18nManager.getText("contacts.storm.title"))
			self.bs.show()
			storm = Storm()
			# Build up Nodes and Edges using our contact list and if possible our friends' contact lists
			myTorId = DbClient.getOwnTorId()
			friends = {}
			friendsOfFriends = {}
			for c in DbClient.getContactList():
				#print("Contact:", c['torid'], "'", c['displayName'], "'")
				nodeid = storm.getUnusedNodeId()
				torid = c['torid']
				friends[torid] = nodeid
				storm.addNode(Node(None, nodeid, c['displayName']))
				friendsOfFriends[torid] = c.get('contactlist', "")
			for torid in friends:
				if torid != myTorId:
					storm.addEdge(friends[torid], friends[myTorId])
			for torid in friendsOfFriends:
				if torid != myTorId:
					ffList = friendsOfFriends[torid]
					if ffList:
						for ff in ffList.split(","):
							if ff and len(ff) > 16:
								ffTorid = ff[:16]
								ffName = ff[16:]
								if ffTorid != myTorId:
									if not friends.get(ffTorid, None):
										# Friend's friend is not in the list yet - add it
										nodeid = storm.getUnusedNodeId()
										friends[ffTorid] = nodeid
										storm.addNode(Node(None, nodeid, ffName))
									# Add edge from torid to ffTorid
									storm.addEdge(friends[torid], friends[ffTorid])

			self.bs.setStorm(storm)
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:51,代码来源:pages.py

示例3: generateListPage

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def generateListPage(self, doEdit=False, userid=None, extraParams=None):
		self.requirePageResources(['avatar-none.jpg', 'status-self.png', 'status-requested.png', 'status-untrusted.png', 'status-trusted.png'])
		# List of contacts, and show details for the selected one (or self if userid=None)
		selectedprofile = DbClient.getProfile(userid)
		if selectedprofile is None:
			selectedprofile = DbClient.getProfile()
		userid = selectedprofile['torid']
		ownPage = userid == DbClient.getOwnTorId()

		# Build list of contacts
		userboxes = []
		for p in DbClient.getContactList():
			box = Bean()
			box.dispName = p['displayName']
			box.torid = p['torid']
			box.tilestyle = "contacttile" + ("selected" if p['torid'] == userid else "")
			box.status = p['status']
			box.isonline = Contacts.isOnline(box.torid)
			userboxes.append(box)
		# expand templates using current details
		lefttext = self.listtemplate.getHtml({'webcachedir' : Config.getWebCacheDir(), 'contacts' : userboxes})
		pageProps = {"webcachedir" : Config.getWebCacheDir(), 'person':selectedprofile}
		# Add extra parameters if necessary
		if extraParams:
			pageProps.update(extraParams)

		# See which contacts we have in common with this person
		(sharedContactIds, possIdsForThem, possIdsForMe, nameMap) = ContactMaker.getSharedAndPossibleContacts(userid)
		sharedContacts = self._makeIdAndNameBeanList(sharedContactIds, nameMap)
		pageProps.update({"sharedcontacts" : sharedContacts})
		possibleContacts = self._makeIdAndNameBeanList(possIdsForThem, nameMap)
		pageProps.update({"possiblecontactsforthem" : possibleContacts})
		possibleContacts = self._makeIdAndNameBeanList(possIdsForMe, nameMap)
		pageProps.update({"possiblecontactsforme" : possibleContacts})

		# Which template to use depends on whether we're just showing or also editing
		if doEdit:
			# Use two different details templates, one for self and one for others
			detailstemplate = self.editowndetailstemplate if ownPage else self.editdetailstemplate
			righttext = detailstemplate.getHtml(pageProps)
		else:
			detailstemplate = self.detailstemplate  # just show
			righttext = detailstemplate.getHtml(pageProps)

		contents = self.buildTwoColumnPage({'pageTitle' : I18nManager.getText("contacts.title"),
			'leftColumn' : lefttext,
			'rightColumn' : righttext,
			'pageFooter' : "<p>Footer</p>"})
		return contents
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:51,代码来源:pages.py

示例4: _createSubpayload

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def _createSubpayload(self):
		'''Use the stored fields to pack the payload contents together'''
		if self.senderKey is None: self.senderKey = self.getOwnPublicKey()
		# Get own torid and name
		if not self.senderId: self.senderId = DbClient.getOwnTorId()
		if not self.senderName:
			self.senderName = DbClient.getProfile(None).get('name', self.senderId)
		if not self.introMessage: self.introMessage = ""
		nameAsBytes = self.senderName.encode('utf-8')
		messageAsBytes = self.introMessage.encode('utf-8')
		print("Packing contact request with senderId", self.senderId)
		return self.packBytesTogether([
			self.senderId,
			self.encodeNumberToBytes(len(nameAsBytes), 4),
			nameAsBytes,
			self.encodeNumberToBytes(len(messageAsBytes), 4),
			messageAsBytes,
			self.senderKey])
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:20,代码来源:message.py

示例5: getSharedAndPossibleContacts

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def getSharedAndPossibleContacts(torid):
		'''Check which contacts we share with the given torid and which ones we could recommend to each other'''
		nameMap = {}
		ourContactIds = set()
		trustedContactIds = set()
		theirContactIds = set()
		# Get our id so we can exclude it from the sets
		myTorId = DbClient.getOwnTorId()
		if torid == myTorId:
			return (None, None, None, None)
		# Find the contacts of the specified person
		selectedProfile = DbClient.getProfile(torid, False)
		selectedContacts = selectedProfile.get('contactlist', None) if selectedProfile else None
		if selectedContacts:
			for s in selectedContacts.split(","):
				if s and len(s) >= 16:
					foundid = s[0:16]
					if foundid != myTorId:
						foundName = s[16:]
						theirContactIds.add(foundid)
						nameMap[foundid] = foundName
		foundTheirContacts = len(theirContactIds) > 0
		# Now get information about our contacts
		for c in DbClient.getMessageableContacts():
			foundid = c['torid']
			ourContactIds.add(foundid)
			if c['status'] == 'trusted' and foundid != torid:
				trustedContactIds.add(foundid)
			nameMap[foundid] = c.get('displayName', c.get('name', None))
			# Should we check the contact information too?
			if not foundTheirContacts:
				foundContacts = c.get('contactlist', None)
				if foundContacts:
					for s in foundContacts.split(","):
						if s[0:16] == torid:
							theirContactIds.add(foundid)
		# Now we have three sets of torids: our contacts, our trusted contacts, and their contacts.
		sharedContactIds = ourContactIds.intersection(theirContactIds) # might be empty
		suggestionsForThem = trustedContactIds.difference(theirContactIds)
		possibleForMe = theirContactIds.difference(ourContactIds)

		# Some or all of these sets may be empty, but we still return the map so we can look up names
		return (sharedContactIds, suggestionsForThem, possibleForMe, nameMap)
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:45,代码来源:contactmgr.py

示例6: getOwnTorId

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def getOwnTorId():
		if not MessageShuffler.ownTorId:
			MessageShuffler.ownTorId = DbClient.getOwnTorId()
		return MessageShuffler.ownTorId
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:6,代码来源:messageshuffler.py

示例7: _createUnencryptedPayload

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def _createUnencryptedPayload(self):
		if self.senderId is None:
			self.senderId = DbClient.getOwnTorId()
		return self.packBytesTogether([
			self.encodeNumberToBytes(self.messageType, 1),
			self.senderId, self._createSubpayload()])
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:8,代码来源:message.py

示例8: handleDeleteContact

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def handleDeleteContact(torId):
		'''For whatever reason, we don't trust this contact any more, so status is set to "deleted"'''
		if torId and torId != DbClient.getOwnTorId():
			DbClient.updateContact(torId, {"status" : "deleted"})
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:6,代码来源:contactmgr.py

示例9: handleReceiveDeny

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def handleReceiveDeny(torId):
		'''We have requested contact with another id, but this has been denied.
		So we need to update their status accordingly'''
		if torId and torId != DbClient.getOwnTorId():
			DbClient.updateContact(torId, {"status" : "deleted"})
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:7,代码来源:contactmgr.py

示例10: generateAddPage

# 需要导入模块: from dbclient import DbClient [as 别名]
# 或者: from dbclient.DbClient import getOwnTorId [as 别名]
	def generateAddPage(self):
		'''Build the form page for adding a new user, using the template'''
		bodytext = self.addtemplate.getHtml({"owntorid" : DbClient.getOwnTorId()})
		return self.buildPage({'pageTitle' : I18nManager.getText("contacts.title"),
			'pageBody' : bodytext,
			'pageFooter' : "<p>Footer</p>"})
开发者ID:activityworkshop,项目名称:Murmeli,代码行数:8,代码来源:pages.py


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