File: //opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyo
�
�A�[c @ s� d Z d d l Z d d l m Z d d l m Z e Z e j d Z d e
f d � � YZ d e e e � f d � � YZ d g Z
d S(
s�
A dict subclass for Python 2 that behaves like Python 3's dict
Example use:
>>> from builtins import dict
>>> d1 = dict() # instead of {} for an empty dict
>>> d2 = dict(key1='value1', key2='value2')
The keys, values and items methods now return iterators on Python 2.x
(with set-like behaviour on Python 2.7).
>>> for d in (d1, d2):
... assert not isinstance(d.keys(), list)
... assert not isinstance(d.values(), list)
... assert not isinstance(d.items(), list)
i����N( t with_metaclass( t newobjecti t BaseNewDictc B s e Z d � Z RS( c C s- | t k r t | t � St | j | � Sd S( N( t newdictt
isinstancet
_builtin_dictt
issubclasst __class__( t clst instance( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyt __instancecheck__ s
( t __name__t
__module__R
( ( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyR s R c B s; e Z d Z d � Z d � Z d � Z d � Z d � Z RS( s7
A backport of the Python 3 dict object to Py2
c C sF t d k r | j � St d k r, | j � St d k rB | j � Sd S(
s�
On Python 2.7+:
D.items() -> a set-like object providing a view on D's items
On Python 2.6:
D.items() -> an iterator over D's items
i i i i i N( i i ( i i ( i i ( t vert viewitemst iteritemst items( t self( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyR ) s
c C sF t d k r | j � St d k r, | j � St d k rB | j � Sd S(
s�
On Python 2.7+:
D.keys() -> a set-like object providing a view on D's keys
On Python 2.6:
D.keys() -> an iterator over D's keys
i i i i i N( i i ( i i ( i i ( R
t viewkeyst iterkeyst keys( R ( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyR 7 s
c C sF t d k r | j � St d k r, | j � St d k rB | j � Sd S(
s�
On Python 2.7+:
D.values() -> a set-like object providing a view on D's values
On Python 2.6:
D.values() -> an iterator over D's values
i i i i i N( i i ( i i ( i i ( R
t
viewvaluest
itervaluest values( R ( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyR E s
c O sn t | � d k r( t t | � j | � St | d � t k rK | d } n
| d } t t | � j | | � S( s�
dict() -> new empty dictionary
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:
d = {}
for k, v in iterable:
d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
i ( t lent superR t __new__t type( R t argst kwargst value( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyR S s
c C s
t | � S( s=
Hook for the future.utils.native() function
( t dict( R ( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyt
__native__h s ( R R t __doc__R R R R R ( ( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyR % s ( R! t syst future.utilsR t future.types.newobjectR R R t version_infoR
R R R t __all__( ( ( sE /opt/alt/python27/lib/python2.7/site-packages/future/types/newdict.pyt <module> s
J