Sindbad~EG File Manager
3
�uGh� �
@ sZ d Z ddlmZ ejr�ddlmZ ddlmZmZm Z ddl
mZm
Z ddl
Z
e
jZeZddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddl m!Z! e"� Z#e#fd
d�Z
dddddddddddddg
Z$n�ddl%Z%e%jZe%jZe%j Z e%jZe%jZe%jZe%jZe%jZe%j
Z
e%jZe%jZej&�r6e%jZe%jZg Z$n dd
lmZ ddlmZ ddgZ$dS )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)
- ``max`` (new default option from Py3.4)
- ``min`` (new default option from Py3.4)
``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)�newmax)�newmin)�newintc C s� t | t�rt| �} t |t�r$t|�}t |t�r6t|�}y"|tkrJt| |�S t| ||�S W n: tk
r� |tkr~t| d |�S t| d ||�S Y nX dS )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).
y N)�
isinstancer �long� _SENTINEL�_builtin_pow�
ValueError)�x�y�z� r �;/root/tmp/pip-build-gzoz1_uw/future/future/builtins/misc.pyr F s
r r �chrr �inputr �nextr r �round�super�max�min)'�__doc__�futurer �PY2�ior Zfuture_builtinsr r r �__builtin__r r r r r � raw_inputr Zfuture.builtins.newnextr r Zfuture.builtins.newroundr
r Zfuture.builtins.newsuperr r Zfuture.builtins.new_min_maxr r r
r Zfuture.types.newintr �objectr �__all__�builtinsZ PY34_PLUSr r r r �<module>'