more #859: avoid deprecation warning for unit tests too, hush pyflakes
authorBrian Warner <warner@lothar.com>
Tue, 15 Dec 2009 00:01:47 +0000 (16:01 -0800)
committerBrian Warner <warner@lothar.com>
Tue, 15 Dec 2009 00:01:47 +0000 (16:01 -0800)
* factor maybe-import-sha logic into util.hashutil

src/allmydata/storage_client.py
src/allmydata/test/no_network.py
src/allmydata/util/hashutil.py

index d12cb8b7a68f80a3fa91cc9000b7121d54072952..7945eac05dfd257eb0652990204df86b71b06f7c 100644 (file)
@@ -28,13 +28,6 @@ the foolscap-based server implemented in src/allmydata/storage/*.py .
 #
 # 6: implement other sorts of IStorageClient classes: S3, etc
 
-try:
-    from hashlib import sha1
-except ImportError:
-    # hashlib was added in Python 2.5
-    import sha
-    def sha1(x):
-        return sha.new(x)
 
 import time
 from zope.interface import implements, Interface
@@ -43,6 +36,7 @@ from allmydata.interfaces import IStorageBroker
 from allmydata.util import idlib, log
 from allmydata.util.assertutil import _assert, precondition
 from allmydata.util.rrefutil import add_version_to_remote_reference
+from allmydata.util.hashutil import sha1
 
 # who is responsible for de-duplication?
 #  both?
index fdf7e78e593b4292946cdc321945e7267046c997..d1fa83409680d3841ea39792a54f790b1699f46b 100644 (file)
@@ -14,7 +14,6 @@
 # or the control.furl .
 
 import os.path
-import sha
 from zope.interface import implements
 from twisted.application import service
 from twisted.internet import reactor
@@ -25,6 +24,7 @@ from allmydata import uri as tahoe_uri
 from allmydata.client import Client
 from allmydata.storage.server import StorageServer, storage_index_to_dir
 from allmydata.util import fileutil, idlib, hashutil
+from allmydata.util.hashutil import sha1
 from allmydata.test.common_web import HTTPClientGETFactory
 from allmydata.interfaces import IStorageBroker
 
@@ -105,7 +105,7 @@ class NoNetworkStorageBroker:
     implements(IStorageBroker)
     def get_servers_for_index(self, key):
         return sorted(self.client._servers,
-                      key=lambda x: sha.new(key+x[0]).digest())
+                      key=lambda x: sha1(key+x[0]).digest())
     def get_all_servers(self):
         return frozenset(self.client._servers)
     def get_nickname_for_serverid(self, serverid):
index 2b40a97cf509d0cba0fac8498e3b505c3d7495dc..2af8749bbe6761bc3f7e0f0245b3e2b3afcb92ef 100644 (file)
@@ -2,6 +2,14 @@ from pycryptopp.hash.sha256 import SHA256
 import os
 from allmydata.util.netstring import netstring
 
+try:
+    import hashlib
+    sha1 = hashlib.sha1
+except ImportError:
+    # hashlib was added in Python 2.5
+    import sha
+    sha1 = sha.new
+
 # Be very very cautious when modifying this file. Almost any change will
 # cause a compatibility break, invalidating all outstanding URIs and making
 # any previously uploaded files become inaccessible. BE CONSERVATIVE AND TEST