Issue 2550713
Created on 2011-07-14 10:49 by ced, last changed 2011-07-15 12:58 by schlatterbeck.
| Messages | |||
|---|---|---|---|
| msg4330 | Author: [hidden] (ced) | Date: 2011-07-14 10:49 | |
The EditCSVAction.handle fails to convert rows value into io_.StringIO because io.StringIO require
a unicode instead of a str.
Here is the traceback:
TypeError: initial_value must be unicode or None, not str Python 2.7.1
/usr/bin/python2.7
A problem occurred while running a Python script. Here is the sequence of function calls leading
up to the error, with the most recent (innermost) call first. The exception attributes are:
/usr/lib/python2.7/site-packages/roundup/cgi/actions.py in handle(self=
<roundup.cgi.actions.EditCSVAction instance>)
298
299 # do the edit
300 rows = io_.StringIO(self.form['rows'].value)
rows = undefined, global io_ = <module 'roundup.anypy.io_' from '/usr/lib/python2.7/site-
packages/roundup/anypy/io_.pyc'>, global StringIO = undefined, self =
<roundup.cgi.actions.EditCSVAction instance>, global form = undefined, value = undefined
301 reader = csv.reader(rows)
302 found = {}
/usr/lib/python2.7/site-packages/roundup/cgi/actions.py in execute(self=
<roundup.cgi.actions.EditCSVAction instance>)
37 """Execute the action specified by this object."""
38 self.permission()
39 return self.handle()
self = <roundup.cgi.actions.EditCSVAction instance>, global handle = undefined
40
41 name = ''
/usr/lib/python2.7/site-packages/roundup/cgi/client.py in handle_action(self=
<roundup.cgi.client.Client instance>)
1140 return getattr(self, action_klass)()
1141 else:
1142 return action_klass(self).execute()
action_klass = <class roundup.cgi.actions.EditCSVAction>, self = <roundup.cgi.client.Client
instance>, global execute = undefined
1143
1144 except (ValueError, Reject), err:
/usr/lib/python2.7/site-packages/roundup/cgi/client.py in inner_main(self=
<roundup.cgi.client.Client instance>)
450 # possibly handle a form submit action (may change self.classname
451 # and self.template, and may also append error/ok_messages)
452 html = self.handle_action()
html = undefined, self = <roundup.cgi.client.Client instance>, global handle_action =
undefined
453
454 if html:
|
|||
| msg4331 | Author: [hidden] (ber) | Date: 2011-07-14 11:24 | |
Thanks for the report, which version of roundup did you try in particular? |
|||
| msg4332 | Author: [hidden] (ced) | Date: 2011-07-14 11:28 | |
On 14/07/11 11:24 +0000, Bernhard Reiter wrote: > > Bernhard Reiter <bernhard@intevation.de> added the comment: > > Thanks for the report, which version of roundup did you try in > particular? Version 1.4.16 By the way, I temporary fixed by only use StringIO.StringIO in roundup/anypy/io_.py |
|||
| msg4333 | Author: [hidden] (ber) | Date: 2011-07-14 14:04 | |
Can you add your change? Maybe it leads the way how to fix this. |
|||
| msg4334 | Author: [hidden] (ced) | Date: 2011-07-14 14:23 | |
On 14/07/11 14:04 +0000, Bernhard Reiter wrote: > > Bernhard Reiter <bernhard@intevation.de> added the comment: > > Can you add your change? Maybe it leads the way how to fix this. It is really not the correct way, because I just force to use StringIO from StringIO module instead of io. Here is: try: from io import StringIO except: from StringIO import StringIO from StringIO import StringIO |
|||
| msg4335 | Author: [hidden] (ber) | Date: 2011-07-14 19:33 | |
Hmm, how did you create the traceback? With which version of python on which platform? I'm trying with roundup 1.4.18+ (from SVN)) and python 2.7.2 on MeeGo (Intel) and running the demo.py I could not trigger the issue yet. CVS export worked for me, maybe it needs to be a special entry or action? |
|||
| msg4336 | Author: [hidden] (ced) | Date: 2011-07-14 19:43 | |
On 14/07/11 19:33 +0000, Bernhard Reiter wrote: > > Bernhard Reiter <bernhard@intevation.de> added the comment: > > Hmm, how did you create the traceback? I was just editing group (to add a new group) > With which version of python on which platform? Python 2.7.1 on Linux 32bit > I'm trying with roundup 1.4.18+ (from SVN)) > and python 2.7.2 on MeeGo (Intel) and running the demo.py > I could not trigger the issue yet. > > CVS export worked for me, maybe it needs to be a special entry or action? Nothing special. Do you get a unicode string from the form? |
|||
| msg4337 | Author: [hidden] (ber) | Date: 2011-07-15 07:01 | |
Can you give me more specific instructions what I need to do to recreate the issue? With group, do you mean you have changed one of the keywords via the webinterface? What do you mean presicely by getting a unicode string back from the form? If you tried python 2.7.1, do you have a chance to try 2.7.2 as they seems to have fixed a number of issues between 2.7.1 and 2.7.2, some even in the io module. But it is hard to say if this affects the issue. |
|||
| msg4338 | Author: [hidden] (ced) | Date: 2011-07-15 08:27 | |
On 15/07/11 07:01 +0000, Bernhard Reiter wrote: > > Bernhard Reiter <bernhard@intevation.de> added the comment: > > Can you give me more specific instructions what I need to do > to recreate the issue? > > With group, do you mean you have changed one of the keywords via the > webinterface? Yes, by going as admin to http://<hostname>/roundup/group I just add a new line but even without adding line I got the issue. > What do you mean presicely by getting a unicode string back from the > form? It seems that "self.form['rows'].value" is a str and not a unicode. > If you tried python 2.7.1, do you have a chance to try 2.7.2 > as they seems to have fixed a number of issues between 2.7.1 and 2.7.2, > some even in the io module. But it is hard to say if this affects the > issue. It is difficult because on local machine, I don't have yet Python 2.7 and I can right now upgrade the production server. But I don't think it is a issue in Python because the doc of io.StringIO says that it requires a unicode. |
|||
| msg4339 | Author: [hidden] (ber) | Date: 2011-07-15 08:43 | |
Hmm is "group" an object that your customization of roundup has created? At least my http://localhost:8917/demo/group does not have "group" as an object. Are you using some roundup extensions? Can you somehow trigger the issues with a clean standard install? Just unpack roundup and run python demo.py. |
|||
| msg4340 | Author: [hidden] (ber) | Date: 2011-07-15 12:56 | |
I think Ralf just fixed this issue with rev4633. |
|||
| msg4341 | Author: [hidden] (schlatterbeck) | Date: 2011-07-15 12:58 | |
fixed in r4633 and added regression test. Sorry I just now see the discussion here. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2011-07-15 12:58:50 | schlatterbeck | set | assignee: schlatterbeck messages: + msg4341 |
| 2011-07-15 12:56:47 | ber | set | status: new -> closed nosy: + schlatterbeck resolution: fixed messages: + msg4340 |
| 2011-07-15 08:43:16 | ber | set | messages: + msg4339 |
| 2011-07-15 08:27:33 | ced | set | messages: + msg4338 |
| 2011-07-15 07:01:00 | ber | set | messages: + msg4337 |
| 2011-07-14 19:43:57 | ced | set | messages: + msg4336 |
| 2011-07-14 19:33:14 | ber | set | messages: + msg4335 |
| 2011-07-14 14:23:37 | ced | set | messages: + msg4334 |
| 2011-07-14 14:04:28 | ber | set | messages: + msg4333 |
| 2011-07-14 11:28:37 | ced | set | messages: + msg4332 |
| 2011-07-14 11:24:23 | ber | set | nosy:
+ ber messages: + msg4331 |
| 2011-07-14 10:49:55 | ced | create | |