
    {i                        S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
  SSKrSSKJr  S	S
KJr  S	SKJr  S	SKJr  \(       a  SSKr " S S\5      r " S S\5      rg)zProvide the Redditors class.    )annotations)islice)SimpleNamespace)TYPE_CHECKINGIterableIteratorN   )API_PATH   )PRAWBase)ListingGenerator)stream_generatorc                      \ rS rSrSrSrg)PartialRedditor   zKA namespace object that provides a subset of :class:`.Redditor` attributes. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       O/home/james-whalen/.local/lib/python3.13/site-packages/praw/models/redditors.pyr   r      s    Ur   r   c                  n    \ rS rSrSr    S
S jrSS jr    S
S jr      SS jr    SS jr	Sr
g	)	Redditors   zLRedditors is a Listing class that provides various :class:`.Redditor` lists.c                >    [        U R                  [        S   40 UD6$ )zReturn a :class:`.ListingGenerator` for new :class:`.Redditors`.

:returns: :class:`.Redditor` profiles, which are a type of :class:`.Subreddit`.

Additional keyword arguments are passed in the initialization of
:class:`.ListingGenerator`.

	users_newr   _redditr
   selfgenerator_kwargss     r   newRedditors.new   s       h{.CXGWXXr   c              #  d  #    [        U5      n [        [        US5      5      nU(       d  gSSR                  U5      0n U R                  R                  [        S   US9nUR                  5        H  u  pg[        SSU0UD6v   M     M|  ! [        R                  R                   a     M  f = f7f)	zGet user summary data by redditor IDs.

:param ids: An iterable of redditor fullname IDs.

:returns: A iterator producing :class:`.PartialRedditor` objects.

Each ID must be prefixed with ``t2_``.

Invalid IDs are ignored by the server.

d   ids,user_by_fullname)paramsfullnameNr   )iterlistr   joinr!   getr
   prawcore
exceptionsNotFounditemsr   )r#   r)   iterablechunkr,   resultsr-   	user_datas           r   partial_redditorsRedditors.partial_redditors(   s      9#./ESXXe_-F,,**84F+GPV*W
 (/}}#%ExE9EE (7  &&// s)   =B0 !B !*B0B-)B0,B--B0c                >    [        U R                  [        S   40 UD6$ )zReturn a :class:`.ListingGenerator` for popular :class:`.Redditors`.

:returns: :class:`.Redditor` profiles, which are a type of :class:`.Subreddit`.

Additional keyword arguments are passed in the initialization of
:class:`.ListingGenerator`.

users_popularr    r"   s     r   popularRedditors.popularD   s'      LL(?3
7G
 	
r   c                `    U R                  USUS9  [        U R                  [        S   40 UD6$ )zReturn a :class:`.ListingGenerator` of Redditors for ``query``.

:param query: The query string to filter Redditors by.

:returns: :class:`.Redditor`\ s.

Additional keyword arguments are passed in the initialization of
:class:`.ListingGenerator`.

r,   )	argumentskeyqusers_search)_safely_add_argumentsr   r!   r
   )r#   queryr$   s      r   searchRedditors.searchS   s=     	""-=8u"ULL(>2
6F
 	
r   c                .    [        U R                  40 UD6$ )a  Yield new Redditors as they are created.

Redditors are yielded oldest first. Up to 100 historical Redditors will
initially be returned.

Keyword arguments are passed to :func:`.stream_generator`.

:returns: :class:`.Redditor` profiles, which are a type of :class:`.Subreddit`.

)r   r%   )r#   stream_optionss     r   streamRedditors.streame   s      ;N;;r   r   N)r$   str | int | dict[str, str]returnIterator[praw.models.Subreddit])r)   zIterable[str]rN   zIterator[PartialRedditor])rF   strr$   rM   rN   rO   )rJ   rM   rN   rO   )r   r   r   r   r   r%   r:   r>   rG   rK   r   r   r   r   r   r      sj    VY"<Y	(YF8
"<
	(


.H
	(
$< :<	(<r   r   )r   
__future__r   	itertoolsr   typesr   typingr   r   r   r2   constr
   baser   listing.generatorr   utilr   praw.modelsprawr   r   r   r   r   <module>r[      sH    " "  ! 4 4    / "Vo VZ< Z<r   