本文整理汇总了Python中node.Node.add方法的典型用法代码示例。如果您正苦于以下问题:Python Node.add方法的具体用法?Python Node.add怎么用?Python Node.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类node.Node
的用法示例。
在下文中一共展示了Node.add方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: requestFriend
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import add [as 别名]
def requestFriend(self, host, source_node = None, dest_node = None):
#save the manager friend to the node
friendPublicKey = unicode(uuid4())
friendPrivateKey = unicode(uuid4())
friendNode = Node({}, {"name" : "new manager" })
friendNode.set('public_key', friendPublicKey)
friendNode.set('private_key', friendPrivateKey)
if source_node and dest_node:
friendNode.set('source_node_key', source_node['public_key'], True)
friendNode.set('dest_node_key', dest_node['public_key'], True)
friendNode.add('data/identity/ip_address', self.node.createIPAddress(host))
self.node.addFriend(friendNode.get())
#build the friend request
meToSend = Node(copy.deepcopy(self.node.get()))
meToSend.set('public_key', friendPublicKey)
meToSend.set('private_key', friendPrivateKey)
if source_node and dest_node:
meToSend.set('source_node_key', source_node['public_key'], True)
meToSend.set('dest_node_key', dest_node['public_key'], True)
friendNode.add('data/friends', meToSend.get())
#send the friend request to the manager
friendResponses = self._doRequest(meToSend, friendNode, json.dumps(meToSend.get()), status="FRIEND_REQUEST")
for response in friendResponses:
try:
self.handlePacket(json.loads(response))
except:
print "Friend does not auto approve friend requests. There was no response from friend request."
return friendNode
示例2: routeRequestThroughNode
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import add [as 别名]
def routeRequestThroughNode(self, destNode, destinationPublicKey, name='new friend', avatar=''):
newFriend = Node({}, {'name':'Just created for the new keys'})
selectedFriend = Node({}, {"name" : name, 'avatar': avatar})
sourceNodeCopy = Node(copy.deepcopy(self.node.get()))
sourceNodeCopy.add('data/friends', selectedFriend.get())
sourceNodeCopy.set('routed_public_key', destinationPublicKey, True)
selectedFriend.set('routed_public_key', destinationPublicKey, True)
selectedFriend.set('public_key', newFriend.get('public_key'))
selectedFriend.set('private_key', newFriend.get('private_key'))
selectedFriend.setModifiedToNow()
selectedFriend.set('source_indexer_key', destNode.get('public_key'), True)
self.node.addFriend(selectedFriend.get())
self.node.add('data/friends', selectedFriend.get())
self.updateRelationship(destNode)
sourceNodeCopy.set('public_key', newFriend.get('public_key'))
sourceNodeCopy.set('private_key', newFriend.get('private_key'))
sourceNodeCopy.set('source_indexer_key', destNode.get('public_key'), True)
sourceNodeCopy.replaceIdentityOfFriendsWithPubKeys()
data = b64decode(encrypt(destNode.get('private_key'), destNode.get('private_key'), json.dumps(sourceNodeCopy.get())))
return self._doRequest(destNode, destNode, data, status="ROUTED_FRIEND_REQUEST")
示例3: buildByFile
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import add [as 别名]
def buildByFile(self, path):
labelnodes = {}
f = open(path, "r")
f.readline()
for edge in f:
ns = list(re.findall(r'\d+', edge))
for a, b in zip(ns[0:len(ns)-1], ns[1:len(ns)]):
if a in labelnodes:
n = labelnodes[a]
if b in labelnodes:
n.add(labelnodes[b])
else:
n2 = Node()
labelnodes[b] = n2
n.add(n2)
else:
n = Node()
labelnodes[a] = n
if b in labelnodes:
n.add(labelnodes[b])
else:
n2 = Node()
labelnodes[b] = n2
n.add(n2)
f.close()
self.nodes = list(labelnodes.values())
self.labels = {labelnodes[k].id: k for k in list(labelnodes.keys())}
示例4: traversal
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import add [as 别名]
def traversal(self):
tree = Tree()
root = tree.userTurn()
board = Node(root)
while board.value not in self.leafNode:
nextBoard = tree.generateNextBoard(board)
board.add(nextBoard)
board = nextBoard
self.numberOfTurns = +1
示例5: generateDisconnectedRandomGeometricGraph
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import add [as 别名]
def generateDisconnectedRandomGeometricGraph(n,r=0.05):
nodesPos=[]
nodes=[]
for i in range (n):
newNode = Node()
x=random.random()
y=random.random()
j=0
for otherNode in nodesPos:
if euclidianDist(x,y,otherNode[0],otherNode[1]) <= r :
newNode.add(nodes[j])
j+=1
nodesPos.append([x,y,i])
nodes.append(newNode)
g = Graph("",*nodes)
return g
示例6: __init__
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import add [as 别名]
class Ldapy:
def __init__ (self, con = None):
self._lazyConnectionDataManager = None
if con:
self.connection = con
else:
connectionData, newConnection = self.parseArguments ()
try:
self.connection = connection.Connection (connectionData.uri)
self.connection.bind (connectionData.bind_dn,
connectionData.password)
if newConnection:
self.connectionDataManager.addRecentConnection (
connectionData)
except connection.ConnectionError as e:
logger.critical (e)
sys.exit (1)
self._cwd = Node (self.connection, "")
@property
def connectionDataManager (self):
if not self._lazyConnectionDataManager:
self._lazyConnectionDataManager = ConnectionDataManager()
return self._lazyConnectionDataManager
@property
def cwd (self):
return self._cwd.dn
@property
def attributes (self):
return self._cwd.attributes
def _resolveRelativeDN (self, relDN):
if relDN == ".":
return self._cwd
elif relDN == "..":
if self._cwd.parent:
return self._cwd.parent
else:
raise AlreadyAtRoot ()
else:
try:
return self._cwd.relativeChildren[relDN]
except KeyError:
if self.cwd:
raise exceptions.NoSuchObject ("%s,%s" % (relDN, self.cwd))
else:
raise exceptions.NoSuchObjectInRoot (relDN)
def getAttributes (self, relDN):
return self._resolveRelativeDN (relDN).attributes
def setAttribute (self, relDN, attribute, newValue = None, oldValue = None):
try:
return self._resolveRelativeDN (relDN).setAttribute (attribute,
newValue = newValue, oldValue = oldValue)
except NodeError as e:
raise SetAttributeError (e.msg)
def delete (self, relDN):
try:
self._resolveRelativeDN (relDN).delete ()
except NodeError as e:
raise DeleteError (e.msg)
@property
def children (self):
return self._cwd.relativeChildren.keys ()
def changeDN (self, to):
self._cwd = self._resolveRelativeDN (to)
def goUpOneLevel (self):
self.changeDN ("..")
def completeChild (self, text):
return [ i.relativeDN () for i in self._cwd.children if i.dn.startswith (text)]
def add (self, rdn, attr):
self._cwd.add (rdn, attr)
_neither_host_nor_uri_given = "Must specify either a host (--host) or an URI."
_both_host_and_uri_given = "Both host and URI specified, only one allowed."
_uri_malformed = "Invalid URI format given."
_port_is_not_a_valid_number = "Port is not a valid number."
_too_many_arguments = "too many arguments given"
_first_argument_must_be_a_number = "first argument to --save must be a number"
def parseArguments (self, args = None, name = "ldapy"):
parser = argparse.ArgumentParser (prog=name)
parser.add_argument ("--host", "-H",
help="Specifies host to connect to.")
parser.add_argument ("--port", "-p", default=389, type=int,
help="Specifies which port to connect to on host.")
#.........这里部分代码省略.........