Da ich kein Python-Entwickler bin, bitte ich um Nachsicht für mein vielleicht etwas natives Anliegen.
Ich würde gerne die via WSGI übermittelten Daten in eine Key/Value-Form bringen.
Im speziellen geht es mir um die als POST-Data überlieferten Informationen.
Dabei kann ja ein Key mehrmals vorkommen.
Ziel ist es letztendlich, dass ich sämtliche Daten (environment und Post-data) als String erhalte, wobei Name und Value durch <tab> getrennt sind und <LF> die einzelnen Felder abschließen.
Hier mal mein Ansatz:
Code: Alles auswählen
def application(environ, start_response):
get_data = []
post_data = ''
# stringifying the environment key, value pairs
get_data = ['%s\t%s' % (key, value)
for key, value in environ.items()]
get_data = '\n'.join(get_data)
# in the HTTP request body which is passed by the WSGI server
# in the file like wsgi.input environment variable.
if environ['REQUEST_METHOD'] == 'POST':
# the environment variable CONTENT_LENGTH may be empty or missing
try:
length = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
length = 0
request_body = environ['wsgi.input'].read(length)
d = parse_qs(request_body)
post_data = ''
for key, value in d.items():
for v in value:
post_data += key + '\t' + v + '\n'
output = get_data + '\n' + post_data
Könnt ihr so nett sein, und euch das kritisch ansehen?
Vielen Dank schon jetzt mal!
Hawelka