Viewing File: /opt/alt/python35/lib/python3.5/site-packages/peewee_migrate/__pycache__/compat.cpython-35.pyc



/XR&@sdZddlZejddkZddZeseZefZefZ	ddZ
ddZddZdd	l
mZdd
dZeZddd
ZnreZeefZeefZ	ddZ
ddZddZdd	lmZedddZedddZdZeedrGdddeZy0yeeWdQRXWnYnXWn)ek
rdZYnek
rYnXyddlmZWnek
rxddl m!Z!Gddde"e!Zd d!Z#d"d#Z$d$d%Z%d&d'Z&e!j'Z'e!j(Z(e!j)Z)e!j*Z*e!j+Z+e!j
Z
e!jZe!jZYnXydd(l,m-Z-Wn-ek
rd)d*Z.dd+d,Z-YnXdS)-z Compatibility layer.

    Some py2/py3 compatibility support based on a stripped down
    version of six so we don't have to depend on a specific version
    of it.

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD
NcCs|S)N)xrr
/compat.py<lambda>
srcCst|jS)N)iterkeys)drrrrscCst|jS)N)rvalues)r	rrrrscCst|jS)N)ritems)r	rrrrs)StringIOcCs(|j|k	r|j||dS)N)
__traceback__with_traceback)tpvaluetbrrrreraisesrcCs;t|tr't|dddd}t|||dS)Nz<string>execdont_inheritT)
isinstancestrcompiler)codeZgloblocrrrexec_in"srcCs
|jS)N)iterkeys)r	rrrr,scCs
|jS)N)
itervalues)r	rrrr-scCs
|jS)N)	iteritems)r	rrrr.sz5def reraise(tp, value, tb=None):
 raise tp, value, tbcCs|j|_dd|_|S)NcSs|jjdS)Nzutf-8)__unicode__encode)rrrrr6sz&implements_to_string.<locals>.<lambda>)__str__r)clsrrrimplements_to_string4sr"zdef exec_in(code, glob, loc=None):
        if isinstance(code, basestring):
            code = compile(code, '<string>', 'exec', dont_inherit=True)
        exec code in glob, loc
cs/Gfddd}|ddiS)Ncs7eZdZejZejZfddZdS)z!with_metaclass.<locals>.metaclasscs2|dkr"tj||f|S||S)N)type__new__)r!nameZ
this_basesr	)basesmetarrr$Nsz)with_metaclass.<locals>.metaclass.__new__N)__name__
__module____qualname__r#__call____init__r$r)r&r'rr	metaclassJs		r-Ztemporary_classr)r'r&r-r)r&r'rwith_metaclass@s
r.FZpypy_version_infoc@s(eZdZddZddZdS)_MgrcCs|S)Nr)selfrrr	__enter__]sz_Mgr.__enter__cGstjdS)N)sysZ	exc_clear)r0argsrrr__exit__`sz
_Mgr.__exit__N)r(r)r*r1r4rrrrr/\sr/T)OrderedDict)	DictMixinc@s1eZdZeZddZddZdS)r5cOs|j|j||dS)N)clearupdate)r0r3kwargsrrrr,vs
zOrderedDict.__init__cCs)t|_t|_tj|dS)N)dictZ_OrderedDict__maplistZ_OrderedDict__orderr7)r0rrrr7zszOrderedDict.clearN)r(r)r*objectnullr,r7rrrrr5rs	r5cCsI||kr2t|j|j|<|jj|tj|||dS)N)len__order__mapappendr:__setitem__)r0keyrrrrrBsrBcCs0tj|||jj||j|_dS)N)r:__delitem__r@popr=r?)r0rCrrrrDsrDccs,x%|jD]}||jk	r
|Vq
WdS)N)r?r=)r0rCrrr__iter__srFcCs
t|S)N)r;)r0rrrrsr)
import_modulecCst|dstdt|}xTt|dd	D]@}y|jdd|}Wq:tk
rytdYq:Xq:Wd|d||fS)
z6Return the absolute name of the module to be imported.rindexz'package' not set to a string.rz2attempted relative import beyond top-level packagez%s.%sN)hasattr
ValueErrorr>xrangerH)r%packageleveldotrrrr
_resolve_names
rRcCs|jdrk|s!tdd}x%|D]}|dkrAP|d7}q.Wt||d||}t|tj|S)zImport a module.

        The 'package' argument is required when performing a relative import. It
        specifies the package to use as the anchor point from which to resolve the
        relative import to an absolute import.

        rJz/relative imports require the 'package' argumentrrIN)
startswith	TypeErrorrR
__import__r2modules)r%rOrP	characterrrrrGs

rG)/__doc__r2version_infoZPY2	_identityrZ	text_typeZstring_typesintZ
integer_typesrrriorrr"runicodelong	cStringIOrr.ZBROKEN_PYPY_CTXMGR_EXITrLr<r/AssertionErrorrTcollectionsr5ImportErrorUserDictr6r:rBrDrFr
setdefaultr8rEr
r	importlibrGrRrrrr<module>	sz		






							

Back to Directory File Manager