
    {i                        S r SSKJr  SSKJr  SSKJr   " S S\5      r " S S	\5      r " S
 S\5      r	 " S S\5      r
 " S S\5      rg)zProvide the Listing class.    )annotations)Any   )PRAWBasec                  L   ^  \ rS rSrSrSrSrS	S jrS
S jrSU 4S jjr	Sr
U =r$ )Listing
   z<A listing is a collection of :class:`.RedditBase` instances.afterchildrenc                2    [        X R                  5      U   $ )z.Return the item at position index in the list.)getattrCHILD_ATTRIBUTE)selfindexs     U/home/james-whalen/.local/lib/python3.13/site-packages/praw/models/listing/listing.py__getitem__Listing.__getitem__   s    t112599    c                >    [        [        X R                  5      5      $ )z*Return the number of items in the Listing.)lenr   r   r   s    r   __len__Listing.__len__   s    74!5!5677r   c                   > XR                   :X  a%  U R                  R                  R                  U5      n[        TU ]  X5        g)z,Objectify the ``CHILD_ATTRIBUTE`` attribute.N)r   _reddit	_objector	objectifysuper__setattr__)r   	attributevalue	__class__s      r   r   Listing.__setattr__   s6    ,,,LL**44U;EI-r    )r   intreturnr   )r&   r%   )r    strr!   r   )__name__
__module____qualname____firstlineno____doc__AFTER_PARAMr   r   r   r   __static_attributes____classcell__)r"   s   @r   r   r   
   s$    FK O:8. .r   r   c                  0    \ rS rSrSrSr\SS j5       rSrg)FlairListing   z)Special Listing for handling flair lists.usersc                    [        U SS5      $ )&Return the next attribute or ``None``.nextNr   r   s    r   r
   FlairListing.after$   s     tVT**r   r$   Nr&   z
Any | None	r(   r)   r*   r+   r,   r   propertyr
   r.   r$   r   r   r1   r1      s    3O+ +r   r1   c                  4    \ rS rSrSrSrSr\SS j5       rSr	g)	ModNoteListing*   z5Special Listing for handling :class:`.ModNote` lists.before	mod_notesc                B    [        U SS5      (       d  g[        U SS5      $ )z"Return the next attribute or None.has_next_pageTN
end_cursorr7   r   s    r   r
   ModNoteListing.after0   s%     t_d33t\400r   r$   Nr9   )
r(   r)   r*   r+   r,   r-   r   r;   r
   r.   r$   r   r   r=   r=   *   s!    ?K!O1 1r   r=   c                      \ rS rSrSrSrSrg)ModeratorListing8   z-Special Listing for handling moderator lists.
moderatorsr$   N)r(   r)   r*   r+   r,   r   r.   r$   r   r   rF   rF   8   s
    7"Or   rF   c                  0    \ rS rSrSrSr\SS j5       rSrg)ModmailConversationsListing>   zASpecial Listing for handling :class:`.ModmailConversation` lists.conversationsc                V     U R                   S   R                  $ ! [         a     gf = f)r5   N)rL   id
IndexErrorr   s    r   r
   !ModmailConversationsListing.afterC   s0    	%%b),,, 		s    
((r$   N)r&   z
str | Noner:   r$   r   r   rJ   rJ   >   s    K%O r   rJ   N)r,   
__future__r   typingr   baser   r   r1   r=   rF   rJ   r$   r   r   <module>rU      sM      "  .h .*+7 +1W 1#w #' r   