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.

Reply via email to