Repository URL to install this package:
|
Version:
4.0.109 ▾
|
ó
ªEYc @ sÊ d d l Z d d l Z d d l Z d d l Z y d d l m Z Wn! e k
rg d d l m Z n Xd e f d YZ d e f d YZ
i d d 6Z e d
k rÆ d d l
Z
e
j n d S( iÿÿÿÿN( t MutableMapping( t DictMixint MultiDictc B sø e Z d Z d Z d Z d Z d Z d Z d Z d Z d Z
d Z d
Z e Z
d Z d Z d d
Z d Z d Z d d Z d Z d Z d Z d Z e Z d Z d Z d Z d Z RS( s§
An ordered dictionary that can have multiple values for each key.
Adds the methods getall, getone, mixed, and add to the normal
dictionary interface.
c O sµ t | d k r! t d n | r t | d d rM | d j } n0 t | d d rs | d j } n
| d } t | | _ n g | _ | j j t j | d S( Ni s9 MultiDict can only be called with one positional argumenti t iteritemst items( t lent TypeErrort hasattrR R t listt _itemst extendt six( t selft argst kwR ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt __init__ s
c C s@ x' | j D] \ } } | | k r
| Sq
Wt t | d S( N( R t KeyErrort repr( R t keyt kt v( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt __getitem__' s c C s9 y | | =Wn t k
r n X| j j | | f d S( N( R R t append( R R t value( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt __setitem__- s
c C s | j j | | f d S( sL
Add the key and value, not overwriting any previous value.
N( R R ( R R R ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt add4 s c C sX g } xK | j D]@ \ } } t | t | k r | | k r | j | q q W| S( sU
Return a list of all values matching the key (may be an empty list)
( R t typeR ( R R t resultR R ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt getall: s
$c C s[ | j | } | s( t d | n t | d k rS t d | | f n | d S( sk
Get one value matching the key, raising a KeyError if multiple
values were found.
s Key not found: %ri s Multiple values match %r: %ri ( R R R ( R R R ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt getoneD s c C s i } i } xn | j D]c \ } } | | k ro | | k rN | | j | qy | | | g | | <d | | <q | | | <q W| S( s$
Returns a dictionary where the values are either single
values, or a list of values when a key/value appears more than
once in this dictionary. This is similar to the kind of
dictionary often used to represent the variables in a web
request.
N( R R t None( R R t multiR R ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/paste/util/multidict.pyt mixedP s
c C sQ i } xD | j D]9 \ } } | | k r<