I checked on tw2.core and actually the exception value wasn't required at all.
I just sent a patch to the toscawidgets2 team. On Mon, Apr 9, 2012 at 10:54 PM, Alessandro Molina <[email protected]> wrote: > Most of tw2 is written with exceptions in python2.5 style, > actually only that exception is written with 2.6+ syntax. > > we can probably ask toscawidgets team to change that except clause to > solve the issue. > tw2.0 is not python3 compatible and so there isn't any particular > reason to keep it written that way. > > python3 compatibility won't probably happen before we have tg2.3 which > won't support python2.5 anymore. > > On Mon, Apr 9, 2012 at 10:36 PM, Michael Pedersen <[email protected]> > wrote: >> Heh, I just found the exact same fix. We do have a new problem, though, and >> this one is kinda large. >> >> tw2.core is using syntax like this: >> >> ====================================================================== >> ERROR: Failure: SyntaxError (invalid syntax (i18n.py, line 19)) >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/home/marvin/venvs/tg2-25/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/loader.py", >> line 390, in loadTestsFromName >> addr.filename, addr.module) >> File >> "/home/marvin/venvs/tg2-25/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/importer.py", >> line 39, in importFromPath >> return self.importFromDir(dir_path, fqname) >> File >> "/home/marvin/venvs/tg2-25/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/importer.py", >> line 86, in importFromDir >> mod = load_module(part_fqname, fh, filename, desc) >> File "/home/marvin/src/tg2/tests/test_validation.py", line 9, in <module> >> from tg.controllers import TGController >> File "/home/marvin/src/tg2/tg/__init__.py", line 58, in <module> >> from tg.controllers import TGController, redirect, url, lurl, abort >> File "/home/marvin/src/tg2/tg/controllers/__init__.py", line 5, in >> <module> >> from tg.controllers.decoratedcontroller import (DecoratedController, >> File "/home/marvin/src/tg2/tg/controllers/decoratedcontroller.py", line >> 40, in <module> >> from tw2.core import ValidationError as Tw2ValidationError >> File "/home/marvin/src/tg2/tw2.core-2.0.1-py2.5.egg/tw2/core/__init__.py", >> line 11, in <module> >> from widgets import (Widget, CompoundWidget, RepeatingWidget, >> File "/home/marvin/src/tg2/tw2.core-2.0.1-py2.5.egg/tw2/core/widgets.py", >> line 12, in <module> >> import validation as vd >> File >> "/home/marvin/src/tg2/tw2.core-2.0.1-py2.5.egg/tw2/core/validation.py", line >> 11, in <module> >> from i18n import _ >> File "/home/marvin/src/tg2/tw2.core-2.0.1-py2.5.egg/tw2/core/i18n.py", >> line 19 >> except TypeError as e: >> ^ >> SyntaxError: invalid syntax >> >> >> While I'm glad they are, it does require us to make a choice: Either tw2 is >> not the default, or we're bumping the minimum requirement to Python 2.6. >> Personally, I prefer Py-2.6, but that's me. Thoughts? >> >> On Mon, Apr 9, 2012 at 4:26 PM, Alessandro Molina >> <[email protected]> wrote: >>> >>> You are right, I forgot to check on Python 2.5 and methodcaller wasn't >>> available there. >>> I pushed a quick fix for that right now. >>> >>> On Mon, Apr 9, 2012 at 3:06 PM, Michael Pedersen <[email protected]> >>> wrote: >>> > Thank you. That problem has been fixed, but I'm afraid we might have a >>> > more >>> > serious problem. In Jenkins, I've upgraded all the tests to use Python >>> > 2.5 >>> > and 2.7 (instead of 2.4 and 2.6). On 2.5, I get the traceback below. >>> > Since I >>> > do not get this on 2.7, I have to think we've got a language >>> > incompatibility >>> > happening (though it could be packages needing to be upgraded, too, and >>> > that's the focus of my work tonight). >>> > >>> > Traceback (most recent call last): >>> > File "setup.py", line 79, in <module> >>> > zip_safe=False >>> > File "/usr/lib/python2.5/distutils/core.py", line 151, in setup >>> > dist.run_commands() >>> > File "/usr/lib/python2.5/distutils/dist.py", line 974, in run_commands >>> > self.run_command(cmd) >>> > File "/usr/lib/python2.5/distutils/dist.py", line 994, in run_command >>> > cmd_obj.run() >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/commands.py", >>> > line 137, in run >>> > TestProgram(argv=argv, config=self.__config) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/core.py", >>> > line 118, in __init__ >>> > **extra_args) >>> > File "/usr/lib/python2.5/unittest.py", line 767, in __init__ >>> > self.parseArgs(argv) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/core.py", >>> > line 135, in parseArgs >>> > self.config.configure(argv, doc=self.usage()) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/config.py", >>> > line 330, in configure >>> > self.plugins.begin() >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/plugins/manager.py", >>> > line 94, in __call__ >>> > return self.call(*arg, **kw) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/nose-1.0.0-py2.5.egg/nose/plugins/manager.py", >>> > line 162, in simple >>> > result = meth(*arg, **kw) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/Pylons-1.0-py2.5.egg/pylons/test.py", >>> > line 74, in begin >>> > relative_to=path) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 203, in loadapp >>> > return loadobj(APP, uri, name=name, **kw) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 223, in loadobj >>> > global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 247, in loadcontext >>> > global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 270, in _loadconfig >>> > return loader.get_context(object_type, name, global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 401, in get_context >>> > section) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 423, in _context_from_use >>> > object_type, name=use, global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 353, in get_context >>> > global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 247, in loadcontext >>> > global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 270, in _loadconfig >>> > return loader.get_context(object_type, name, global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 401, in get_context >>> > section) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 423, in _context_from_use >>> > object_type, name=use, global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 353, in get_context >>> > global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 247, in loadcontext >>> > global_conf=global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 277, in _loadegg >>> > return loader.get_context(object_type, name, global_conf) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 553, in get_context >>> > object_type, name=name) >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg2env/lib/python2.5/site-packages/PasteDeploy-1.3.4-py2.5.egg/paste/deploy/loadwsgi.py", >>> > line 579, in find_egg_entry_point >>> > possible.append((entry.load(), protocol, entry.name)) >>> > File "build/bdist.linux-i686/egg/pkg_resources.py", line 1954, in load >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg21inst/tg21teststd/tg21teststd/config/middleware.py", >>> > line 4, in <module> >>> > from tg21teststd.config.app_cfg import base_config >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg21inst/tg21teststd/tg21teststd/config/app_cfg.py", >>> > line 16, in <module> >>> > from tg.configuration import AppConfig >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg21inst/tg21/tg/__init__.py", >>> > line 58, in <module> >>> > from tg.controllers import TGController, redirect, url, lurl, abort >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg21inst/tg21/tg/controllers/__init__.py", >>> > line 5, in <module> >>> > from tg.controllers.decoratedcontroller import (DecoratedController, >>> > File >>> > >>> > "/home/hudson/.hudson/jobs/tg-2.2-devtools-py2.5/workspace/tg21inst/tg21/tg/controllers/decoratedcontroller.py", >>> > line 11, in <module> >>> > strip_string = operator.methodcaller('strip') >>> > AttributeError: 'module' object has no attribute 'methodcaller' >>> > >>> > On Mon, Apr 9, 2012 at 5:59 AM, Alessandro Molina >>> > <[email protected]> wrote: >>> >> >>> >> That test has been added to reproduce a crank issue that should have >>> >> been fixed in crank 0.6.2, >>> >> check that you are actually testing with the last crank release. >>> >> >>> >> On Mon, Apr 9, 2012 at 6:01 AM, Michael Pedersen >>> >> <[email protected]> >>> >> wrote: >>> >> > So, I've begun working on getting jenkins fixed. Now that 2.1.5 is >>> >> > out, >>> >> > it >>> >> > seemed like the next logical step. >>> >> > >>> >> > I've run into a pair of issues, though, and I think they might be >>> >> > related. >>> >> > Since I've been out of the code for so long, and so many improvements >>> >> > have >>> >> > occurred, asking here seems like the better choice. >>> >> > >>> >> > Are we now using the multiprocessing module? If so, we need to add it >>> >> > to >>> >> > the >>> >> > list of requirements when python version is 2.5. >>> >> > >>> >> > Second, when running nosetests on python 2.7 on jenkins, I get a >>> >> > failure. >>> >> > Specifically, this error: >>> >> > >>> >> > >>> >> > ====================================================================== >>> >> > ERROR: test_not_found >>> >> > (tests.test_tg_controller_dispatch.TestNotFoundWithIndexController) >>> >> > >>> >> > ---------------------------------------------------------------------- >>> >> > Traceback (most recent call last): >>> >> > File >>> >> > >>> >> > >>> >> > "/home/hudson/.hudson/jobs/tg-2.2-py2.7/workspace/tests/test_tg_controller_dispatch.py", >>> >> > line 492, in test_not_found >>> >> > r = self.app.get('/something', status=404) >>> >> > File >>> >> > >>> >> > >>> >> > "/home/hudson/.hudson/jobs/tg-2.2-py2.7/workspace/tg2env/lib/python2.7/site-packages/WebTest-1.2.4-py2.7.egg/webtest/__init__.py", >>> >> > line 734, in get >>> >> > expect_errors=expect_errors) >>> >> > File >>> >> > >>> >> > >>> >> > "/home/hudson/.hudson/jobs/tg-2.2-py2.7/workspace/tg2env/lib/python2.7/site-packages/WebTest-1.2.4-py2.7.egg/webtest/__init__.py", >>> >> > line 974, in do_request >>> >> > self._check_status(status, res) >>> >> > File >>> >> > >>> >> > >>> >> > "/home/hudson/.hudson/jobs/tg-2.2-py2.7/workspace/tg2env/lib/python2.7/site-packages/WebTest-1.2.4-py2.7.egg/webtest/__init__.py", >>> >> > line 1012, in _check_status >>> >> > "Bad response: %s (not %s)" % (res.status, status)) >>> >> > AppError: Bad response: 200 OK (not 404) >>> >> > >>> >> > Any clues as to why before I dig in? My next immediate task is to >>> >> > prepare >>> >> > the 2.2 beta release, and get every package for it upgraded as high >>> >> > as >>> >> > possible, so any help fixing this one error would be most >>> >> > appreciated. >>> >> > >>> >> > -- >>> >> > Michael J. Pedersen >>> >> > My Online Resume: http://www.icelus.org/ -- Google+ >>> >> > http://plus.ly/pedersen >>> >> > Google Talk: [email protected] -- Twitter: pedersentg >>> >> > >>> >> > -- >>> >> > You received this message because you are subscribed to the Google >>> >> > Groups >>> >> > "TurboGears Trunk" group. >>> >> > To post to this group, send email to >>> >> > [email protected]. >>> >> > To unsubscribe from this group, send email to >>> >> > [email protected]. >>> >> > For more options, visit this group at >>> >> > http://groups.google.com/group/turbogears-trunk?hl=en. >>> >> >>> >> -- >>> >> You received this message because you are subscribed to the Google >>> >> Groups >>> >> "TurboGears Trunk" group. >>> >> To post to this group, send email to [email protected]. >>> >> To unsubscribe from this group, send email to >>> >> [email protected]. >>> >> For more options, visit this group at >>> >> http://groups.google.com/group/turbogears-trunk?hl=en. >>> >> >>> > >>> > >>> > >>> > -- >>> > Michael J. Pedersen >>> > My Online Resume: http://www.icelus.org/ -- Google+ >>> > http://plus.ly/pedersen >>> > Google Talk: [email protected] -- Twitter: pedersentg >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> > Groups >>> > "TurboGears Trunk" group. >>> > To post to this group, send email to [email protected]. >>> > To unsubscribe from this group, send email to >>> > [email protected]. >>> > For more options, visit this group at >>> > http://groups.google.com/group/turbogears-trunk?hl=en. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "TurboGears Trunk" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/turbogears-trunk?hl=en. >>> >> >> >> >> -- >> Michael J. Pedersen >> My Online Resume: http://www.icelus.org/ -- Google+ http://plus.ly/pedersen >> Google Talk: [email protected] -- Twitter: pedersentg >> >> -- >> You received this message because you are subscribed to the Google Groups >> "TurboGears Trunk" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/turbogears-trunk?hl=en. -- You received this message because you are subscribed to the Google Groups "TurboGears Trunk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/turbogears-trunk?hl=en.
