Your IP : 18.117.94.221


Current Path : /opt/alt/python37/lib/python3.7/site-packages/future/builtins/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/future/builtins/__pycache__/misc.cpython-37.pyc

B

�A�[��@sdZddlmZejr�ddlmZddlmZmZm	Z	ddl
mZm
Zddl
Z
e
jZeZddlmZddlmZdd	lmZdd
lmZe�Zefdd�Z
d
ddddddddddgZnNddl Z e jZe jZe j	Z	e jZe jZe jZe jZe jZe j
Z
e jZe jZgZdS)a.
A module that brings in equivalents of various modified Python 3 builtins
into Py2. Has no effect on Py3.

The builtin functions are:

- ``ascii`` (from Py2's future_builtins module)
- ``hex`` (from Py2's future_builtins module)
- ``oct`` (from Py2's future_builtins module)
- ``chr`` (equivalent to ``unichr`` on Py2)
- ``input`` (equivalent to ``raw_input`` on Py2)
- ``next`` (calls ``__next__`` if it exists, else ``next`` method)
- ``open`` (equivalent to io.open on Py2)
- ``super`` (backport of Py3's magic zero-argument super() function
- ``round`` (new "Banker's Rounding" behaviour from Py3)

``isinstance`` is also currently exported for backwards compatibility
with v0.8.2, although this has been deprecated since v0.9.


input()
-------
Like the new ``input()`` function from Python 3 (without eval()), except
that it returns bytes. Equivalent to Python 2's ``raw_input()``.

Warning: By default, importing this module *removes* the old Python 2
input() function entirely from ``__builtin__`` for safety. This is
because forgetting to import the new ``input`` from ``future`` might
otherwise lead to a security vulnerability (shell injection) on Python 2.

To restore it, you can retrieve it yourself from
``__builtin__._old_input``.

Fortunately, ``input()`` seems to be seldom used in the wild in Python
2...

�)�utils)�open)�ascii�oct�hex)�unichr�powN)�newnext)�newround)�newsuper)�newintcCs�t|t�rt|�}t|t�r$t|�}t|t�r6t|�}y"|tkrJt||�St|||�SWn:tk
r�|tkr~t|d|�St|d||�SYnXdS)z�
        pow(x, y[, z]) -> number

        With two arguments, equivalent to x**y.  With three arguments,
        equivalent to (x**y) % z, but may be more efficient (e.g. for ints).
        yN)�
isinstancer�long�	_SENTINEL�_builtin_pow�
ValueError)�x�y�z�r�E/opt/alt/python37/lib/python3.7/site-packages/future/builtins/misc.pyrBs



rr�chrr�inputr
�nextrr�round�super)!�__doc__�futurer�PY2�iorZfuture_builtinsrrrZ__builtin__rrrrr
Z	raw_inputrZfuture.builtins.newnextr	rZfuture.builtins.newroundr
rZfuture.builtins.newsuperrrZfuture.types.newintr�objectr�__all__�builtinsrrrr�<module>%s:

?>