o
    2g$                     @  s^   d Z ddlmZ ddlmZ G dd dZG dd deZG d	d
 d
eZG dd deZdS )z(Provide classes related to inline media.    )annotations   )_deprecate_argsc                   @  sL   e Zd ZdZdZdddZedd	dd
dddZdddZdddZ	dS )InlineMediaz,Provides a way to embed media in self posts.Notherreturnboolc                   s   t  fdddD S )z5Return whether the other instance equals the current.c                 3  s$    | ]}t |t  |kV  qd S )N)getattr).0attrr   self W/home/garg/my-data/venv/lib/python3.10/site-packages/praw/models/reddit/inline_media.py	<genexpr>   s
    
z%InlineMedia.__eq__.<locals>.<genexpr>)TYPEpathcaptionmedia_id)all)r   r   r   r   r   __eq__   s   zInlineMedia.__eq__r   r   )r   strc                C  s   || _ || _d| _dS )zInitialize an :class:`.InlineMedia` instance.

        :param caption: An optional caption to add to the image (default: ``None``).
        :param path: The path to a media file.

        N)r   r   r   )r   r   r   r   r   r   __init__   s   
zInlineMedia.__init__c                 C  s   d| j j d| jdS )z?Return an object initialization representation of the instance.<z	 caption=>)	__class____name__r   r   r   r   r   __repr__    s   zInlineMedia.__repr__c                 C  s.   d| j  d| j d| jr| j dS d dS )z?Return a string representation of the media in Markdown format.z

![z](z " z")

)r   r   r   r   r   r   r   __str__$   s   .zInlineMedia.__str__)r   r   r   r   )r   r   r   r   )r   r   )
r   
__module____qualname____doc__r   r   r   r   r   r    r   r   r   r   r      s    

r   c                   @     e Zd ZdZdZdS )	InlineGifz(Class to provide a gif to embed in text.gifNr   r!   r"   r#   r   r   r   r   r   r%   )       r%   c                   @  r$   )InlineImagez+Class to provide am image to embed in text.imgNr'   r   r   r   r   r)   /   r(   r)   c                   @  r$   )InlineVideoz*Class to provide a video to embed in text.videoNr'   r   r   r   r   r+   5   r(   r+   N)	r#   
__future__r   utilr   r   r%   r)   r+   r   r   r   r   <module>   s    !