Roundup Tracker - Issues

Issue 2550503

classification
Python version compatibility layer (anypy package)
Type: behavior Severity: normal
Components: Versions:
process
Status: closed accepted
:
: richard : richard, stefan, tobias-herp
Priority: : patch

Created on 2009-02-15 20:49 by tobias-herp, last changed 2009-03-12 02:53 by richard.

Files
File name Uploaded Description Edit Remove
anypy-test.asc tobias-herp, 2009-02-22 22:45 Test output (run_tests.py anypy)
anypy-2009-03-10.patch tobias-herp, 2009-03-10 14:21 updated patch (2009-03-10)
Messages
msg3544 Author: [hidden] (tobias-herp) Date: 2009-02-15 20:49
Roundup supports Python versions 2.3 ff; this yields some compatibility
issues:

- the md5 and sha modules are deprecated as of Python 2.6,
  but the hashlib modules is not available before Python 2.5

- as of Python 2.6, the sets module is deprecated;
  the built-in set type should be used instead of sets.Set

This patch adds a compatibility layer to handle the Python version
issues; the modules in the anypy package provide only the functionality
which is in fact used by roundup.
msg3545 Author: [hidden] (tobias-herp) Date: 2009-02-16 17:45
test/test_anypy_hashlib.py now integrates nicely in run_tests.py; no
other changes (revert the other version first)
msg3574 Author: [hidden] (tobias-herp) Date: 2009-02-22 23:43
Maybe someone could apply this patch (updated to match rev 4159, minimal
changes); currently I can't do it myself...

BTW,

 from roundup.anypy.sets_ import set
 ...
 set(...)

should perform better than

 import sets
 sets.Set(...)

for at least two reasons:

- the builtin set type performs better than sets.Set
- dots are evaluated at run time
<http://wiki.python.org/moin/PythonSpeed/PerformanceTips#Avoidingdots...>
msg3622 Author: [hidden] (tobias-herp) Date: 2009-03-10 14:21
Updated patch against revision 4178; obsoletes all older patches.

Can *please* someone apply the patch (created with svn diff in the
source root directory) and commit it?  My sourceforge account is not
fixed yet, I can't do it myself.  IMO, we *should* get going with the
compatibility-with-current-Python issue.

The round.anypy package is added in setup.py.  The hashlib compatibility
is tested thoroughly, and if anyone considers it necessary, I can
provide a test for anypy.sets_, too.  Since "set" is a builtin type, I
renamed the "set" boolean variable in hyperdb.py to "do_set".
msg3634 Author: [hidden] (richard) Date: 2009-03-12 02:53
Applied in r4181, thanks.

One major outstanding issue is the failure of
test.test_sqlite.sqliteDBTest.testStringUnicode
History
Date User Action Args
2009-03-12 02:53:24richardsetstatus: new -> closed
assignee: richard
resolution: accepted
messages: + msg3634
2009-03-10 14:21:58tobias-herpsetfiles: - anypy-2009-02-22b.patch
2009-03-10 14:21:45tobias-herpsetfiles: - anypy.patch
2009-03-10 14:21:35tobias-herpsetfiles: + anypy-2009-03-10.patch
messages: + msg3622
2009-02-23 02:51:11tobias-herpsetfiles: - test_anypy_hashlib.patch
2009-02-22 23:43:09tobias-herpsetfiles: + anypy-2009-02-22b.patch
messages: + msg3574
2009-02-22 22:45:38tobias-herpsetfiles: + anypy-test.asc
nosy: + richard, stefan
2009-02-16 17:45:57tobias-herpsetfiles: + test_anypy_hashlib.patch
messages: + msg3545
2009-02-15 20:49:48tobias-herpcreate