
    Ii                         S SK r S SKrS SKrS SKJr  SrSrSr\R                  S    S:H  r	\	(       a  S SK
r
\
R                  rOS SKr\R                  R                  r " S S5      rS	 rS
 r " S S\5      rg)    N)clientz:return:z:param bool follow:List   c                       \ rS rSrS rSrg)SimpleNamespace)   c                 :    U R                   R                  U5        g N)__dict__update)selfkwargss     </venv/lib/python3.13/site-packages/kubernetes/watch/watch.py__init__SimpleNamespace.__init__+   s    V$     N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r   )   s    %r   r   c                     [         R                  " U 5      R                  5        H?  nUR                  [        5      (       d  M  U[        [        5      S  R                  5       s  $    g)N )pydocgetdoc
splitlines
startswithPYDOC_RETURN_LABELlenstrip)funclines     r   _find_return_typer$   /   sP    T"--/??-.../017799 0 r   c              #   &  #    SnU R                  S SS9 Hw  n[        U[        5      (       a  UR                  S5      nX-   nUR	                  S5      nUR                  S5      (       d  US   nUS S nOSnU H  nU(       d  M  Uv   M     My     g 7f)Nr   F)amtdecode_contentutf8
)stream
isinstancebytesdecodesplitendswith)respprevseglinesr#   s        r   iter_resp_linesr5   6   s     D{{tE{:c5!!**V$Cj		$||D!!9D#2JEDDt
  ;s   A>BBc                   <    \ rS rSrS
S jrS rS rS rS rS r	S	r
g)WatchG   Nc                 `    Xl         SU l        [        R                  " 5       U l        S U l        g )NF)_raw_return_type_stopr   	ApiClient_api_clientresource_version)r   return_types     r   r   Watch.__init__I   s(     +
!++- $r   c                     SU l         g )NT)r;   )r   s    r   stop
Watch.stopO   s	    
r   c                     U R                   (       a  U R                   $ [        U5      nUR                  [        5      (       a  US [	        [        5      *  $ U$ r
   )r:   r$   r0   TYPE_LIST_SUFFIXr    )r   r"   r?   s      r   get_return_typeWatch.get_return_typeR   sP      ((('- 0116%5!6 677r   c                 B    [         [        R                  " U5      ;   a  gg)Nfollowwatch)PYDOC_FOLLOW_PARAMr   r   )r   r"   s     r   get_watch_argument_nameWatch.get_watch_argument_nameZ   s    d!33r   c                    [         R                  " U5      nUS   US'   U(       a  US   S:w  a  US   S:w  a  [        [         R                  " US   5      S9nU R                  R                  XB5      US'   [        US   S5      (       a   US   R                  R                  U l        U$ [        US   [        5      (       a%  SUS   ;   a  SUS   S   ;   a  US   S   S   U l        U$ )	Nobject
raw_objecttypeERRORBOOKMARK)datametadataresourceVersion)jsonloadsr   dumpsr=   deserializehasattrrU   r>   r,   dict)r   rT   r?   jsobjs        r   unmarshal_eventWatch.unmarshal_event`   s    ZZh<<
 2f:0RZ:5M!tzz"\2B'CDC++77IBxLr(|Z00(*8(=(=(N(N% 		 R\400Z2h<5O'2h<
+CC(*8Z(@%)'%	r   c              /   v  #    SU l         U R                  U5      nU R                  U5      nSX5'   SUS'   SU;   a
  US   U l        SU;   nSn U" U0 UD6n [	        U5       H  n	US:X  a  U R                  X5      n
[        U
[        5      (       a]  U
S   S:X  aT  U
S	   nU(       d  U(       d  US
   [        :X  a  Sn  ORUS   < SUS   < 3n[        R                  R                  US
   US9eSnU
v   OU	v   U R                   (       d  M    O   UR                  5         UR                  5         U R                  b  U R                  US'   OSU l          U R                   (       d  U(       a  gGM#  ! UR                  5         UR                  5         U R                  b  U R                  US'   f SU l         f = f7f)a  Watch an API resource and stream the result back via a generator.

Note that watching an API resource can expire. The method tries to
resume automatically once from the last result, but if that last result
is too old as well, an `ApiException` exception will be thrown with
``code`` 410. In that case you have to recover yourself, probably
by listing the API resource to obtain the latest state and then
watching from that state on by setting ``resource_version`` to
one returned from listing.

:param func: The API function pointer. Any parameter to the function
             can be passed after this parameter.

:return: Event object with these keys:
           'type': The type of event such as "ADDED", "DELETED", etc.
           'raw_object': a dict representing the watched object.
           'object': A model representation of raw_object. The name of
                     model will be determined based on
                     the func's doc string. If it cannot be determined,
                     'object' value will be the same as 'raw_object'.

Example:
    v1 = kubernetes.client.CoreV1Api()
    watch = kubernetes.watch.Watch()
    for e in watch.stream(v1.list_namespace, resource_version=1127):
        type = e['type']
        object = e['object']  # object is one of type return_type
        raw_object = e['raw_object']  # raw_object is a dict
        ...
        if should_stop:
            watch.stop()
FT_preload_contentr>   timeout_secondsrJ   rQ   rR   rP   codereasonz: message)statusre   N)r;   rF   rL   r>   r5   r_   r,   r\   HTTP_STATUS_GONEr   restApiExceptioncloserelease_conn)r   r"   argsr   r?   	watch_argdisable_retriesretry_after_410r1   r#   eventr^   re   s                r   r+   Watch.streamt   s    D 
**40006	 %*!"'$*+=$>D! -6((D!&+D1D !G+ $ 4 4T G%eT22$)&MW$<"'"5C $3?$'K3C$C26 % %(M3y>*C&,kk&>&>+.v;v '? 'G !G /4O"'K"
zzz3 26 

!!#((4151F1FF-.!%DJzz_M < 

!!#((4151F1FF-.!%DJs'   AF9B1E0 E0 A!F90AF66F9)r=   r:   r;   r>   r
   )r   r   r   r   r   rB   rF   rL   r_   r+   r   r   r   r   r7   r7   G   s!    %(Tr   r7   )rW   r   sys
kubernetesr   r   rK   rE   version_infoPY2httplibGONErh   http
HTTPStatusr   r$   r5   rO   r7   r   r   r   <module>r{      s      
  *    
qQ||++% %"AF Ar   