
    Yf                     \    d dl Z d dlZd dlmZ d dlmZmZ er
d dlmZm	Z	m
Z
  G d d      Zy)    N)TYPE_CHECKING)Item
PayloadRef)OptionalUnionCallablec                   *    e Zd Z	 	 	 	 	 ddZd Zd Zy)
AttachmentNc                     ||t        d      |!|t        j                  j                  |      }|t        d      |t	        j
                  |      d   }|| _        || _        || _        || _        || _	        y )Nz)path or raw bytes required for attachmentz#filename is required for attachmentr   )
	TypeErrorospathbasename	mimetypes
guess_typebytesfilenamecontent_typeadd_to_transactions)selfr   r   r   r   r   s         V/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/sentry_sdk/attachments.py__init__zAttachment.__init__   s     =T\GHH 0ww''-HABB$//9!<L
 	(#6     c                     d}| j                   3t        | j                         r| j                         }n#| j                   }nt        | j                        }t	        |d| j
                  | j                        S )z-Returns an envelope item for this attachment.N)r   
attachment)payloadtyper   r   )r   callabler   r   r   r   r   )r   r   s     r   to_envelope_itemzAttachment.to_envelope_item#   sd     ::!

#**,** dii0G**]]	
 	
r   c                 "    d| j                   dS )Nz<Attachment >)r   )r   s    r   __repr__zAttachment.__repr__5   s    $(MM33r   )NNNNF)__name__
__module____qualname__r   r   r"    r   r   r
   r
      s"     !7.
$4r   r
   )r   r   sentry_sdk._typesr   sentry_sdk.enveloper   r   typingr   r   r   r
   r&   r   r   <module>r*      s$    	  + 000,4 ,4r   