Re: [PATCH next 2/2 v2] Remove python 2.5'isms
Brandon Casey venit, vidit, dixit 10.06.2010 02:24:
Show 73 quoted lines
> From: Brandon Casey <drafnel@gmail.com>
>
> The following python 2.5 features were worked around:
>
> * the sha module is used as a fallback when the hashlib module is
> not available
> * the 'any' built-in method was replaced with a 'for' loop
> * a conditional expression was replaced with an 'if' statement
> * the subprocess.check_call method was replaced by a call to
> subprocess.Popen followed by a call to subprocess.wait with a
> check of its return status
>
> These changes allow the python infrastructure to be used with python 2.4
> which is distributed with RedHat's RHEL 5, for example.
>
> t5800 was updated to check for python >= 2.4 to reflect these changes.
>
> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
> ---
>
>
> On 06/09/2010 05:40 PM, Johan Herland wrote:
>
>> On my Python v2.6.5. I get the following:
>>
>>>>> import sha
>> __main__:1: DeprecationWarning: the sha module is deprecated; use the
>> hashlib module instead
>>
>> This is added to the output of every python program that imports sha. I
>> believe we should really try to use the hashlib module when available, and
>> only fall back to sha when necessary. Please use something like this
>> instead:
>>
>> # hashlib is only available in python >= 2.5
>> try:
>> import hashlib
>> _digest = hashlib.sha1
>> except ImportError:
>> import sha
>> _digest = sha.sha
>>
>> so that we don't get the hideous DeprecationWarning.
>
> Like this? ...
>
>
> git-remote-testgit.py | 15 ++++++++++++---
> git_remote_helpers/git/exporter.py | 4 +++-
> git_remote_helpers/git/importer.py | 4 +++-
> git_remote_helpers/git/non_local.py | 16 ++++++++++++----
> git_remote_helpers/git/repo.py | 9 +++++++--
> t/t5800-remote-helpers.sh | 4 ++--
> 6 files changed, 39 insertions(+), 13 deletions(-)
>
> diff --git a/git-remote-testgit.py b/git-remote-testgit.py
> index 9253922..df9d512 100644
> --- a/git-remote-testgit.py
> +++ b/git-remote-testgit.py
> @@ -1,6 +1,12 @@
> #!/usr/bin/env python
>
> -import hashlib
> +# hashlib is only available in python >= 2.5
> +try:
> + import hashlib
> + _digest = hashlib.sha1
> +except ImportError:
> + import sha
> + _digest = sha.new
> import sys
> import os
> sys.path.insert(0, os.getenv("GITPYTHONLIB","."))Doesn't P2.4 have
from hashlib import sha1 as _digest
etc.? I haven't checked for "as".
Michael