Comment faire pour convertir un MultiDict imbriquées dictionnaire

Je voudrais convertir un POSTE de Webob MultiDict imbriquées dictionnaire. E. g.

Donc à partir d'un POSTE de:

'name=Kyle&phone.number=1234&phone.type=home&phone.number=5678&phone.type=work'

à un multidict;

[('name', 'Kyle'), ('phone.number', '1234'), ('phone.type', 'home'), ('phone.number', '5678'), ('phone.type', 'work')]

à un imbriquée dictionnaire

{'name': 'Kyle',
 'phone': [
  {
    'number': '12345',
    'type': 'home',
  },{
    'number': '5678',
    'type': 'work',
  },

Des idées?

MODIFIER

J'ai fini par l'extraction de la variable_decode méthode de la formencode paquet que publiés par la Volonté.
Le seul changement qui a été requis est de rendre les listes explicites, E. g.

'name=Kyle&phone-1.number=1234&phone-1.type=home&phone-2.number=5678&phone-2.type=work'

Ce qui est mieux pour de nombreuses raisons.

InformationsquelleAutor Kyle Finley | 2012-01-30