git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH next 2/2 v2] Remove python 2.5'isms

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Jun 10, 2010, 09:28 UTC
Message-ID
<4C10B02F.9050107@drmicha.warpmail.net>
In-Reply-To
<5ep6Hc9Nl3QLKwV46xET5ZLhqo2uNlnUL1-nNsG9p2IWyX-odykArvT4ontRdeBUA9ouCPQGFwQ@cipher.nrlssc.navy.mil>
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
Previous: Sverre RabbelierNext: David Ripton
Message 8 of 12 in “Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS”
  1. 1/2 Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONSBrandon Casey, Jun 9, 2010
  2. 2/2 Remove python 2.5'ismsBrandon Casey, Jun 9, 2010
  3. Sverre RabbelierJun 9, 2010
  4. Johan HerlandJun 9, 2010
  5. Sverre RabbelierJun 9, 2010
  6. 2/2 Remove python 2.5'ismsBrandon Casey, Jun 10, 2010
  7. Sverre RabbelierJun 10, 2010
  8. Michael J GruberJun 10, 2010
  9. David RiptonJun 10, 2010
  10. Michael J GruberJun 11, 2010
  11. Michael J GruberJun 10, 2010
  12. Sverre RabbelierJun 10, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.