Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/site-packages/flask/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/site-packages/flask/__pycache__/views.cpython-312.pyc

�

(ٜg2����ddlmZddlZddlmZddlmZddlmZejdejdejf�	�Ze
gd
��ZGd�d�ZGd
�de�Zy)�)�annotationsN�)�typing)�current_app)�request�F.)�bound)�get�post�head�options�delete�put�trace�patchc�t�eZdZUdZdZded<dZded<gZded<d	Zd
ed<dd�Z	e
								dd
��Zy)�ViewaSubclass this class and override :meth:`dispatch_request` to
    create a generic class-based view. Call :meth:`as_view` to create a
    view function that creates an instance of the class with the given
    arguments and calls its ``dispatch_request`` method with any URL
    variables.

    See :doc:`views` for a detailed guide.

    .. code-block:: python

        class Hello(View):
            init_every_request = False

            def dispatch_request(self, name):
                return f"Hello, {name}!"

        app.add_url_rule(
            "/hello/<name>", view_func=Hello.as_view("hello")
        )

    Set :attr:`methods` on the class to change what methods the view
    accepts.

    Set :attr:`decorators` on the class to apply a list of decorators to
    the generated view function. Decorators applied to the class itself
    will not be applied to the generated view function!

    Set :attr:`init_every_request` to ``False`` for efficiency, unless
    you need to store request-global data on ``self``.
    Nz$t.ClassVar[t.Collection[str] | None]�methodszt.ClassVar[bool | None]�provide_automatic_optionsz(t.ClassVar[list[t.Callable[..., t.Any]]]�
decoratorsTzt.ClassVar[bool]�init_every_requestc��t��)z�The actual view function behavior. Subclasses must override
        this and return a valid response. Any variables from the URL
        rule are passed as keyword arguments.
        )�NotImplementedError)�selfs �6/usr/local/lib/python3.12/site-packages/flask/views.py�dispatch_requestzView.dispatch_requestNs
��
"�#�#�c�r�����|jr	d���fd��n|�i����d�fd��|jr1|�_|j�_|jD]
}|����|�_|�_|j
�_|j�_|j�_|j�_�S)afConvert the class into a view function that can be registered
        for a route.

        By default, the generated view will create a new instance of the
        view class for every request and call its
        :meth:`dispatch_request` method. If the view class sets
        :attr:`init_every_request` to ``False``, the same instance will
        be used for every request.

        Except for ``name``, all other arguments passed to this method
        are forwarded to the view class ``__init__`` method.

        .. versionchanged:: 2.2
            Added the ``init_every_request`` class attribute.
        c�r���j�i���}tj|j�di|��S�N�)�
view_classr�ensure_syncr)�kwargsr�
class_args�class_kwargs�views  ���rr'zView.as_view.<locals>.viewjsB���&�t�����#/���F�{�.�.�t�/D�/D�E�O��O�Orc�N��tj�j�di|��Sr )rr#r)r$rs �rr'zView.as_view.<locals>.viewss$���E�{�.�.�t�/D�/D�E�O��O�Or�r$�t.Any�return�ft.ResponseReturnValue)rr�__name__�
__module__r"�__doc__rr)�cls�namer%r&�	decoratorrr's  `` @@r�as_viewzView.as_viewUs����&�!�!�
P�
P��
�3�l�3�D�
P��>�>� �D�M�!�n�n�D�O� �^�^�	� ����,������
��{�{����.�.����{�{���),�)F�)F��&��r)r+r,)r1�strr%r*r&r*r+zft.RouteCallable)r-r.�__qualname__r/r�__annotations__rrrr�classmethodr3r!rrrrsw���D59�G�
1�8�
:>��6�=�<>�J�8�=�,0��(�/�$��1��1�%*�1�<A�1�	�1��1rrc�,��eZdZdZd�fd�Zdd�Z�xZS)�
MethodViewa�Dispatches request methods to the corresponding instance methods.
    For example, if you implement a ``get`` method, it will be used to
    handle ``GET`` requests.

    This can be useful for defining a REST API.

    :attr:`methods` is automatically set based on the methods defined on
    the class.

    See :doc:`views` for a detailed guide.

    .. code-block:: python

        class CounterAPI(MethodView):
            def get(self):
                return str(session.get("counter", 0))

            def post(self):
                session["counter"] = session.get("counter", 0) + 1
                return redirect(url_for("counter"))

        app.add_url_rule(
            "/counter", view_func=CounterAPI.as_view("counter")
        )
    c�L��t�|�di|��d|jvr�t�}|jD]+}t|dd�s�|j
|j��-tD].}t||�s�|j|j���0|r||_yyy)Nrr!)�super�__init_subclass__�__dict__�set�	__bases__�getattr�updater�http_method_funcs�hasattr�add�upper)r0r$r�base�key�	__class__s     �rr<zMethodView.__init_subclass__�s����
��!�+�F�+��C�L�L�(��e�G��
�
���4��D�1��N�N�4�<�<�0�&�)���3��$��K�K��	�	��,�)��%����)rc��t|tjj�d�}|� tjdk(r
t|dd�}|�Jdtj����t	j
|�di|��S)N�HEADr
zUnimplemented method r!)r@r�method�lowerrr#)rr$�meths   rrzMethodView.dispatch_request�sv���t�W�^�^�1�1�3�T�:���<�G�N�N�f�4��4���-�D���K�#8����8J�!K�K��,�{�&�&�t�,�6�v�6�6r)r$r*r+�Noner))r-r.r5r/r<r�
__classcell__)rHs@rr9r9�s����4&�"	7rr9)�
__future__rr�t��ft�globalsrr�TypeVar�Callable�Anyr�	frozensetrBrr9r!rr�<module>rYs^��"��� ��
�A�I�I�c����C����J�/�0���I���
w�w�t57��57r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists