]> git.mxchange.org Git - quix0rs-apt-p2p.git/blobdiff - apt_dht/apt_dht.py
Another new TODO item.
[quix0rs-apt-p2p.git] / apt_dht / apt_dht.py
index 9d0241d6b0f023861d0fc375aa362f4e250992d8..f1732e5ee1cc55be2daf0a8aa1f5f3410e3ad7a8 100644 (file)
@@ -152,15 +152,17 @@ class AptDHT:
             return getDefer
         return response
         
-    def new_cached_file(self, file_path, hash, url = None):
+    def new_cached_file(self, file_path, hash, url = None, forceDHT = False):
         """Add a newly cached file to the DHT.
         
         If the file was downloaded, set url to the path it was downloaded for.
+        Don't add a file to the DHT unless a hash was found for it
+        (but do add it anyway if forceDHT is True).
         """
         if url:
             self.mirrors.updatedFile(url, file_path)
         
-        if self.my_addr and hash:
+        if self.my_addr and hash and (hash.expected() is not None or forceDHT):
             site = self.my_addr + ':' + str(config.getint('DEFAULT', 'PORT'))
             key = hash.norm(bits = config.getint(config.get('DEFAULT', 'DHT'), 'HASH_LENGTH'))
             storeDefer = self.dht.storeValue(key, site)
@@ -169,5 +171,5 @@ class AptDHT:
         return None
 
     def store_done(self, result, hash):
-        log.msg('Added %s to the DHT: %r' % (hash, result))
+        log.msg('Added %s to the DHT: %r' % (hash.hexdigest(), result))
         
\ No newline at end of file