Re: [Freeipa-devel] [PATCH] jderose 044 Add sha1, md5 to compat

2010-02-12 Thread Rob Crittenden

Rob Crittenden wrote:

Jason Gerard DeRose wrote:

This patch adds `sha1` and `md5` classes to the `compat` module.  These
will work in Python 2.4 - 2.5 without raising a `DeprecationWarning`.



I wonder if we should import both the name sha and sha1. If we did that 
we could modify ipauuid to import from compat directly. This would be 
nicer too because it shortens the diffs from the upstream uuid.py.


The reason we have our own local copy is partly due to the fact that 
uuid.py imports ctypes which is not at all SELinux friendly. That and so 
we can work on Python 2.4 systems.


rob



Ok, as Jason suggested, we can do something like:

from compat import sha1 as sha

ack, pushed to master

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] jderose 044 Add sha1, md5 to compat

2010-02-12 Thread Rob Crittenden

Jason Gerard DeRose wrote:

This patch adds `sha1` and `md5` classes to the `compat` module.  These
will work in Python 2.4 - 2.5 without raising a `DeprecationWarning`.



I wonder if we should import both the name sha and sha1. If we did that 
we could modify ipauuid to import from compat directly. This would be 
nicer too because it shortens the diffs from the upstream uuid.py.


The reason we have our own local copy is partly due to the fact that 
uuid.py imports ctypes which is not at all SELinux friendly. That and so 
we can work on Python 2.4 systems.


rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


[Freeipa-devel] [PATCH] jderose 044 Add sha1, md5 to compat

2010-02-12 Thread Jason Gerard DeRose
This patch adds `sha1` and `md5` classes to the `compat` module.  These
will work in Python 2.4 - 2.5 without raising a `DeprecationWarning`.
>From fc8710cf1371d0b71341ec3cb162e19699090ffb Mon Sep 17 00:00:00 2001
From: Jason Gerard DeRose 
Date: Fri, 12 Feb 2010 13:03:14 -0700
Subject: [PATCH] Add sha1, md5 to compat

---
 ipalib/compat.py |   38 ++
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/ipalib/compat.py b/ipalib/compat.py
index 70f098b..fcf33fd 100644
--- a/ipalib/compat.py
+++ b/ipalib/compat.py
@@ -18,11 +18,14 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
 """
-Abstracts some compatability issues for Python2.4 - Python2.6.
+Abstracts some compatibility issues for Python 2.4 - Python 2.6.
 
-The ``json`` module was added in Python2.6, which previously was in a seperate
-package and called ``simplejson``.  This hack abstracts the difference so you
-can use the ``json`` module generically like this:
+Python 2.6
+==
+
+The ``json`` module was added in Python 2.6, which previously was in an external
+package and called ``simplejson``.  The `compat` module abstracts the difference
+so you can use the ``json`` module generically like this:
 
 >>> from compat import json
 >>> json.dumps({'hello': 'world'})
@@ -40,6 +43,28 @@ future-proofing here so you can import ``parse_qs()`` generically like this:
 For more information, see *What's New in Python 2.6*:
 
 http://docs.python.org/whatsnew/2.6.html
+
+
+Python 2.5
+==
+
+The ``hashlib`` module was added in Python2.5, after which use of the ``sha``
+and ``md5`` modules is deprecated.  You can generically import a ``sha1`` class
+from the `compat` module like this:
+
+>>> from compat import sha1
+>>> sha1('hello world').hexdigest()
+'2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
+
+And generically import an ``md5`` class like this:
+
+>>> from compat import md5
+>>> md5('hello world').hexdigest()
+'5eb63bbbe01eeed093cb22bb8f5acdc3'
+
+For more information, see *What's New in Python 2.5*:
+
+http://python.org/doc/2.5/whatsnew/whatsnew25.html
 """
 
 import sys
@@ -49,3 +74,8 @@ if sys.version_info[:2] >= (2, 6):
 else:
 import simplejson as json
 from cgi import parse_qs
+try:
+from hashlib import sha1, md5
+except ImportError:
+from sha import new as sha1
+from md5 import new as md5
-- 
1.6.3.3

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel