
    ic                         d dl Z d dlmZmZmZ d dlmZ d dlmZ d dl	m
Z
 ddZdeeeeeef                  f         ddfd	Zdefd
ZdS )    N)UnionDictList)SlackRequestError)
Attachment)Blockreturnc                    dt           t          t          t          f         fd|                     dd           }|:t          |t                    r%fd|D             }|                     d|i           |                     dd           }|<t          |t                    r)fd|D             }|                     d|i           d S d S d S )Nobjc                     t          | t                    r|                                 S t          | t                    r|                                 S | S )N)
isinstancer   to_dictr   )r   s    S/root/projects/butler/venv/lib/python3.11/site-packages/slack/web/internal_utils.pyr   z)_parse_web_class_objects.<locals>.to_dict
   sG    c5!! 	!;;== c:&& 	!;;== 
    blocksc                 &    g | ]} |          S  r   ).0br   s     r   
<listcomp>z,_parse_web_class_objects.<locals>.<listcomp>   s!    222awwqzz222r   attachmentsc                 &    g | ]} |          S r   r   )r   ar   s     r   r   z,_parse_web_class_objects.<locals>.<listcomp>   s!    <<<1GGAJJ<<<r   )r   r   r   r   getr   listupdate)kwargsr   dict_blocksr   dict_attachmentsr   s        @r   _parse_web_class_objectsr    	   s    U4
23     ZZ$''Fj6622226222x-...**]D11K:k4#@#@<<<<<<<}&6788888 r   usersc                    |d S t          |t                    r+|                     dt          j        |          i           d S t          |t
                    r|                     d|i           d S t          d          )Nr!   z0users must be either str or List[Dict[str, str]])r   r   r   jsondumpsstrr   )r   r!   s     r   _update_call_participantsr&      s    }% Tw
5 1 1233333	E3		 Tw&''''' RSSSr   c                 F    d| v od| d         v o| d         d         dk    }|S )zDetermine if the response contains 'next_cursor'
    and 'next_cursor' is not empty.

    Returns:
        A boolean value.
    response_metadatanext_cursor r   )datapresents     r   _next_cursor_is_presentr-   (   sC     	t# 	;T"566	;$%m4: 
 Nr   )r	   N)r#   typingr   r   r   slack.errorsr   slack.web.classes.attachmentsr   slack.web.classes.blocksr   r    r%   r&   boolr-   r   r   r   <module>r3      s     $ $ $ $ $ $ $ $ $ $ * * * * * * 4 4 4 4 4 4 * * * * * *9 9 9 9&	TU3T#s(^8L3L-M 	TRV 	T 	T 	T 	TT      r   