[cedar-backup-svn] SF.net SVN: cedar-backup:[946] cedar-backup2/trunk
Brought to you by:
pronovic
|
From: <pro...@us...> - 2009-08-16 18:39:26
|
Revision: 946
http://cedar-backup.svn.sourceforge.net/cedar-backup/?rev=946&view=rev
Author: pronovic
Date: 2009-08-16 18:39:18 +0000 (Sun, 16 Aug 2009)
Log Message:
-----------
Use hashlib instead of deprecated sha module when available.
Modified Paths:
--------------
cedar-backup2/trunk/CedarBackup2/filesystem.py
cedar-backup2/trunk/Changelog
cedar-backup2/trunk/test/filesystemtests.py
Modified: cedar-backup2/trunk/CedarBackup2/filesystem.py
===================================================================
--- cedar-backup2/trunk/CedarBackup2/filesystem.py 2009-08-16 18:21:36 UTC (rev 945)
+++ cedar-backup2/trunk/CedarBackup2/filesystem.py 2009-08-16 18:39:18 UTC (rev 946)
@@ -51,7 +51,6 @@
import sys
import os
import re
-import sha
import math
import logging
import tarfile
@@ -899,7 +898,7 @@
requires 111 seconds. This implementation requires only 40-45 seconds,
which is a pretty substantial speed-up.
- Practice shows that reading in around 4kB (4096 bytes) at a time yields
+ Experience shows that reading in around 4kB (4096 bytes) at a time yields
the best performance. Smaller reads are quite a bit slower, and larger
reads don't make much of a difference. The 4kB number makes me a little
suspicious, and I think it might be related to the size of a filesystem
@@ -912,7 +911,12 @@
@return: ASCII-safe SHA digest for the file.
@raise OSError: If the file cannot be opened.
"""
- s = sha.new()
+ try:
+ import hashlib
+ s = hashlib.sha1()
+ except Exception, e:
+ import sha
+ s = sha.new()
f = open(path, mode="rb") # in case platform cares about binary reads
readBytes = 4096 # see notes above
while(readBytes > 0):
Modified: cedar-backup2/trunk/Changelog
===================================================================
--- cedar-backup2/trunk/Changelog 2009-08-16 18:21:36 UTC (rev 945)
+++ cedar-backup2/trunk/Changelog 2009-08-16 18:39:18 UTC (rev 946)
@@ -1,6 +1,7 @@
Version 2.19.4 unreleased
* Fix testGenerateTarfile_002() so it works with Python 2.6.
+ * Use hashlib instead of deprecated sha module when available.
Version 2.19.3 29 Mar 2009
Modified: cedar-backup2/trunk/test/filesystemtests.py
===================================================================
--- cedar-backup2/trunk/test/filesystemtests.py 2009-08-16 18:21:36 UTC (rev 945)
+++ cedar-backup2/trunk/test/filesystemtests.py 2009-08-16 18:39:18 UTC (rev 946)
@@ -112,7 +112,6 @@
import sys
import os
-import sha
import time
import unittest
import tempfile
@@ -19381,9 +19380,19 @@
for key in self.resources.keys():
path = self.resources[key]
if platformRequiresBinaryRead():
- digest1 = sha.new(open(path, mode="rb").read()).hexdigest()
+ try:
+ import hashlib
+ digest1 = haslib.sha1(open(path, mode="rb").read()).hexdigest()
+ except:
+ import sha
+ digest1 = sha.new(open(path, mode="rb").read()).hexdigest()
else:
- digest1 = sha.new(open(path).read()).hexdigest()
+ try:
+ import hashlib
+ digest1 = hashlib.sha1(open(path).read()).hexdigest()
+ except:
+ import sha
+ digest1 = sha.new(open(path).read()).hexdigest()
digest2 = BackupFileList._generateDigest(path)
self.failUnlessEqual(digest1, digest2, "Digest for %s varies: [%s] vs [%s]." % (path, digest1, digest2))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|