Viewing File: /opt/alt/python38/lib/python3.8/site-packages/peewee_migrate/__pycache__/compat.cpython-38.pyc
U
/XR @ s d Z ddlZejd dkZdd ZesteZefZefZ dd Z
dd Zdd Zdd l
mZ d-d
dZeZd.dd
ZnPeZeefZeefZ dd Z
dd Zdd Zdd lmZ ed dd Zed dd ZdZeedrLG dd deZz0ze e W 5 Q R X W n Y nX W n. ek
r6 dZY n ek
rJ Y nX zddlmZ W n ek
r ddl m!Z! G dd de"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!jZY nX zdd(l,m-Z- W n( ek
r d)d* Z.d/d+d,Z-Y nX dS )0z 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
N c C s | S N xr r
/compat.py<lambda>
r c C s t | S r )iterkeysdr r r r r c C s t | S r )r
valuesr r r r r r c C s t | S r )r
itemsr r r r r r )StringIOc C s |j |k r|||d S r )
__traceback__with_traceback)tpvaluetbr r r reraise s
r c C s* t | trt| dddd} t| || d S )Nz<string>execT)dont_inherit)
isinstancestrcompiler )codeZglobZlocr r r exec_in"