From a4a6c02ef8ae2e0edb30bb0051873ffca6af6fc0 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Mon, 14 Dec 2009 16:01:47 -0800 Subject: [PATCH] more #859: avoid deprecation warning for unit tests too, hush pyflakes * factor maybe-import-sha logic into util.hashutil --- src/allmydata/storage_client.py | 8 +------- src/allmydata/test/no_network.py | 4 ++-- src/allmydata/util/hashutil.py | 8 ++++++++ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/allmydata/storage_client.py b/src/allmydata/storage_client.py index d12cb8b7..7945eac0 100644 --- a/src/allmydata/storage_client.py +++ b/src/allmydata/storage_client.py @@ -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? diff --git a/src/allmydata/test/no_network.py b/src/allmydata/test/no_network.py index fdf7e78e..d1fa8340 100644 --- a/src/allmydata/test/no_network.py +++ b/src/allmydata/test/no_network.py @@ -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): diff --git a/src/allmydata/util/hashutil.py b/src/allmydata/util/hashutil.py index 2b40a97c..2af8749b 100644 --- a/src/allmydata/util/hashutil.py +++ b/src/allmydata/util/hashutil.py @@ -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 -- 2.45.2