예제 #1
0
 def parse_results(values):
     if values is not None:
         for v in values:
             try:
                 val = Value()
                 val.ParseFromString(v)
                 n = objects.Node()
                 n.ParseFromString(val.serializedData)
                 node_to_ask = Node(
                     n.guid, n.nodeAddress.ip, n.nodeAddress.port,
                     n.publicKey,
                     None if not n.HasField("relayAddress") else
                     (n.relayAddress.ip, n.relayAddress.port),
                     n.natType, n.vendor)
                 if n.guid == KeyChain(self.factory.db).guid:
                     proto = self.factory.db.listings.get_proto()
                     l = Listings()
                     l.ParseFromString(proto)
                     for listing in l.listing:
                         if listing.contract_hash == val.valueKey:
                             respond(listing, node_to_ask)
                 else:
                     self.factory.mserver.get_contract_metadata(node_to_ask, val.valueKey)\
                         .addCallback(respond, node_to_ask)
             except Exception:
                 pass
예제 #2
0
 def parse_results(values):
     if values is not None:
         for v in values:
             try:
                 val = Value()
                 val.ParseFromString(v)
                 n = objects.Node()
                 n.ParseFromString(val.serializedData)
                 node_to_ask = Node(n.guid, n.ip, n.port,
                                    n.signedPublicKey, True)
                 self.factory.mserver.get_contract_metadata(
                     node_to_ask,
                     val.valueKey).addCallback(respond, node_to_ask)
             except Exception:
                 pass
예제 #3
0
 def parse_results(values):
     if values is not None:
         for v in values:
             try:
                 val = Value()
                 val.ParseFromString(v)
                 n = objects.Node()
                 n.ParseFromString(val.serializedData)
                 node_to_ask = Node(n.guid, n.ip, n.port,
                                    n.signedPublicKey, True)
                 if n.guid == KeyChain(self.factory.db).guid:
                     proto = self.factory.db.ListingsStore().get_proto()
                     l = Listings()
                     l.ParseFromString(proto)
                     for listing in l.listing:
                         if listing.contract_hash == val.valueKey:
                             respond(listing, node_to_ask)
                 else:
                     self.factory.mserver.get_contract_metadata(node_to_ask, val.valueKey)\
                         .addCallback(respond, node_to_ask)
             except Exception:
                 pass