Exemple #1
0
 def GET(self):
     """ All the variables from the query_string, wrapped by MultiDict.
     """
     h = MultiDict()
     for k, v in parse_qs(self.query_string).items():
         for val in v:
             h.add(k, val)
     return h
Exemple #2
0
def test_multi_dict(cgi_filed):
    mdict = MultiDict({'name': 'jack', 'age': 22}, country='US')
    assert len(mdict) == 3

    mdict.add('name', 'rose')
    assert mdict['name'] == mdict.get('name') == 'rose'
    assert mdict.get('age') == 22
    assert mdict.get('age', side_func=lambda v: v + 1) == 23
    assert mdict.get('inexistence', default='default') == 'default'

    assert len(mdict.getall('name')) == 2
    assert mdict.getall('inexistence') == []

    items = mdict.allitems()
    assert len(items) == 4
    assert len(MultiDict.from_lists(items)) == 3

    mdict = MultiDict.from_cgi_filedStoreage(cgi_filed)
    assert mdict['cgi'].headers == {'k': 'v'}