Repository URL to install this package:
Version:
3.4.50 ▾
|
ó ª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<