Re: empty strings in request.args.items()

Hello All, I am a twisted novice using the request.args.items() method to write the data from a form to a web page. The problem is that the list values are returned with extra empty strings. I have included a copy of the request string and the dictionary below: *Here is the request string:* request <GET /writeConfigFileChanges?keys=test&datefmt=mark&format=&retryinterva l=john&protocol=&adaptername=&path=&isadapter=&adaptertype=&keys=&retryinterval= &protocol=&adaptername=&path=&isadapter=&adaptertype=&formatter=&class=&args=&le vel=&keys=&level=&propagate=&qualname=&handlers=&level=nathan&handlers= HTTP/1.1> *Here are the values in request.args.items():* {'retryinterval': ['john', ''], 'datefmt': ['mark'], 'args': [''], 'protocol': [ '', ''], 'adaptername': ['', ''], 'keys': ['test', '', ''], 'format': [''], 'isa dapter': ['', ''], 'propagate': [''], 'handlers': ['', ''], 'path': ['', ''], 'f ormatter': [''], 'qualname': [''], 'class': [''], 'adaptertype': ['', ''], 'leve l': ['', '', 'nathan']} An extra single quote empty string is appended to some of the lists in the dictionary, those extra empty strings should not be there. (ex: retryinterval should be -> 'retryinterval': ['john'] ; but instead it is -> 'retryinterval': ['john', ''] ) Do you know of trick or a work around to correct this ? -- Dafina A. Abernathy (DJ)

On Fri, 11 Jul 2008 14:20:48 -0500, DJ <d.a.abernathy@gmail.com> wrote:
Hello All,
I am a twisted novice using the request.args.items() method to write the data from a form to a web page. The problem is that the list values are returned with extra empty strings. I have included a copy of the request string and the dictionary below:
*Here is the request string:* request <GET /writeConfigFileChanges?keys=test&datefmt=mark&format=&retryinterva l=john&protocol=&adaptername=&path=&isadapter=&adaptertype=&keys=&retryinterval= &protocol=&adaptername=&path=&isadapter=&adaptertype=&formatter=&class=&args=&le vel=&keys=&level=&propagate=&qualname=&handlers=&level=nathan&handlers= HTTP/1.1>
*Here are the values in request.args.items():* {'retryinterval': ['john', ''], 'datefmt': ['mark'], 'args': [''], 'protocol': [ '', ''], 'adaptername': ['', ''], 'keys': ['test', '', ''], 'format': [''], 'isa dapter': ['', ''], 'propagate': [''], 'handlers': ['', ''], 'path': ['', ''], 'f ormatter': [''], 'qualname': [''], 'class': [''], 'adaptertype': ['', ''], 'leve l': ['', '', 'nathan']}
An extra single quote empty string is appended to some of the lists in the dictionary, those extra empty strings should not be there. (ex: retryinterval should be -> 'retryinterval': ['john'] ; but instead it is -> 'retryinterval': ['john', ''] )
Do you know of trick or a work around to correct this ?
They're not extra, they're taken from the query arguments. If you know that they aren't important, then you can just ignore them in your code, or you can try to change the client so that it doesn't include them when it makes the request. Jean-Paul
participants (2)
-
DJ
-
Jean-Paul Calderone