equal
deleted
inserted
replaced
5 of the python2.5's stdlib. |
5 of the python2.5's stdlib. |
6 |
6 |
7 WSGI corresponding PEP: http://www.python.org/dev/peps/pep-0333/ |
7 WSGI corresponding PEP: http://www.python.org/dev/peps/pep-0333/ |
8 |
8 |
9 :organization: Logilab |
9 :organization: Logilab |
10 :copyright: 2008 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
10 :copyright: 2008-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
11 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
11 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
12 """ |
12 """ |
13 __docformat__ = "restructuredtext en" |
13 __docformat__ = "restructuredtext en" |
14 |
14 |
15 from email import message, message_from_string |
15 from email import message, message_from_string |
23 """pretty prints `obj` if possible""" |
23 """pretty prints `obj` if possible""" |
24 try: |
24 try: |
25 return _pformat(obj) |
25 return _pformat(obj) |
26 except: |
26 except: |
27 return u'<could not parse>' |
27 return u'<could not parse>' |
28 |
28 |
29 def qs2dict(qs): |
29 def qs2dict(qs): |
30 """transforms a query string into a regular python dict""" |
30 """transforms a query string into a regular python dict""" |
31 result = {} |
31 result = {} |
32 for key, value in parse_qsl(qs, True): |
32 for key, value in parse_qsl(qs, True): |
33 result.setdefault(key, []).append(value) |
33 result.setdefault(key, []).append(value) |
34 return result |
34 return result |
35 |
35 |
36 def normalize_header(header): |
36 def normalize_header(header): |
37 """returns a normalized header name |
37 """returns a normalized header name |
38 |
38 |
39 >>> normalize_header('User_Agent') |
39 >>> normalize_header('User_Agent') |
40 'User-agent' |
40 'User-agent' |
41 """ |
41 """ |
42 return header.replace('_', '-').capitalize() |
42 return header.replace('_', '-').capitalize() |
43 |
43 |
82 content = StringIO(submessage.get_payload()) |
82 content = StringIO(submessage.get_payload()) |
83 files[key] = [filename, mimetype, content] |
83 files[key] = [filename, mimetype, content] |
84 else: |
84 else: |
85 post.setdefault(key, []).append(submessage.get_payload()) |
85 post.setdefault(key, []).append(submessage.get_payload()) |
86 return post, files |
86 return post, files |
87 |
|