Ë
    Fü´j  ã                  ód   — d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 erddl
mZ  G d„ d	«      Zy)
z&Provide the SubredditQuarantine class.é    )ÚannotationsN)ÚTYPE_CHECKING)ÚRedirect)ÚAPI_PATH)Úmodelsc                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)ÚSubredditQuarantinez¯Provides subreddit quarantine related methods.

    To opt-in into a quarantined subreddit:

    .. code-block:: python

        reddit.subreddit("test").quaran.opt_in()

    c                ó   — || _         y)z‘Initialize a :class:`.SubredditQuarantine` instance.

        :param subreddit: The :class:`.Subreddit` associated with the quarantine.

        N)Ú	subreddit)Úselfr   s     úe/root/workspace/ytshorts/venv/lib/python3.12/site-packages/praw/models/reddit/subreddit/quarantine.pyÚ__init__zSubredditQuarantine.__init__   s   € ð #ˆ�ó    c                óØ   — d| j                   i}t        j                  t        «      5  | j                   j                  j                  t        d   |¬«       ddd«       y# 1 sw Y   yxY w)aG  Permit your user access to the quarantined subreddit.

        Usage:

        .. code-block:: python

            subreddit = reddit.subreddit("QUESTIONABLE")
            next(subreddit.hot())  # Raises prawcore.Forbidden

            subreddit.quaran.opt_in()
            next(subreddit.hot())  # Returns Submission

        Úsr_nameÚquarantine_opt_in©ÚdataN©r   Ú
contextlibÚsuppressr   Ú_redditÚpostr   ©r   r   s     r   Úopt_inzSubredditQuarantine.opt_in#   s\   € ð ˜4Ÿ>™>Ð*ˆÜ× Ñ ¤Ó*ñ 	RØ�N‰N×"Ñ"×'Ñ'¬Ð1DÑ(EÈDÐ'ÔQ÷	R÷ 	Rñ 	Rúó   ¨/A Á A)c                óØ   — d| j                   i}t        j                  t        «      5  | j                   j                  j                  t        d   |¬«       ddd«       y# 1 sw Y   yxY w)a>  Remove access to the quarantined subreddit.

        Usage:

        .. code-block:: python

            subreddit = reddit.subreddit("QUESTIONABLE")
            next(subreddit.hot())  # Returns Submission

            subreddit.quaran.opt_out()
            next(subreddit.hot())  # Raises prawcore.Forbidden

        r   Úquarantine_opt_outr   Nr   r   s     r   Úopt_outzSubredditQuarantine.opt_out5   s\   € ð ˜4Ÿ>™>Ð*ˆÜ× Ñ ¤Ó*ñ 	SØ�N‰N×"Ñ"×'Ñ'¬Ð1EÑ(FÈTÐ'ÔR÷	S÷ 	Sñ 	Súr   N)r   zmodels.SubredditÚreturnÚNone)r    r!   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   © r   r   r	   r	      s   „ ñó#óRô$Sr   r	   )r%   Ú
__future__r   r   Útypingr   Úprawcorer   Ú
praw.constr   Úprawr   r	   r&   r   r   ú<module>r,      s)   ðÙ ,å "ã Ý  å å áÝ÷5Sò 5Sr   