Python 2.4 and 2.6 improvements

The sets module is no longer needed with Python 2.4, and causes a
DeprecationWarning with 2.6, so drop it

The md5 module causes a DeprecationWarning with 2.6, so try to import
hashlib (its replacement) instead, else fall back

Reviewed by Poppy.
master
Bryan O'Sullivan 2009-06-22 22:36:36 +00:00
parent 8ed056fde9
commit 5f4c09fa1f
2 changed files with 15 additions and 5 deletions

View File

@ -26,8 +26,14 @@ THE SOFTWARE.
$/LicenseInfo$
"""
import md5, random, socket, string, time, re
import random, socket, string, time, re
import uuid
try:
# Python 2.6
from hashlib import md5
except ImportError:
# Python 2.5 and earlier
from md5 import new as md5
def _int2binstr(i,l):
s=''
@ -196,7 +202,7 @@ class UUID(object):
from c++ implementation for portability reasons.
Returns self.
"""
m = md5.new()
m = md5()
m.update(uuid.uuid1().bytes)
self._bits = m.digest()
return self

View File

@ -64,7 +64,6 @@ def add_indra_lib_path():
base_dir = add_indra_lib_path()
import copy
import md5
import optparse
import os
import platform
@ -75,7 +74,12 @@ import tempfile
import urllib2
import urlparse
from sets import Set as set, ImmutableSet as frozenset
try:
# Python 2.6
from hashlib import md5
except ImportError:
# Python 2.5 and earlier
from md5 import new as md5
from indra.base import llsd
from indra.util import helpformatter
@ -106,7 +110,7 @@ class InstallFile(object):
return "ifile{%s:%s}" % (self.pkgname, self.url)
def _is_md5sum_match(self):
hasher = md5.new(file(self.filename, 'rb').read())
hasher = md5(file(self.filename, 'rb').read())
if hasher.hexdigest() == self.md5sum:
return True
return False