o
    #if                     @   sV   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 dZdS )    N)TYPE_CHECKING)Item
PayloadRef)OptionalUnionCallablec                   @   s0   e Zd Z					d	ddZdd Zdd ZdS )

AttachmentNFc                 C   s|   |d u r|d u rt d|d u r|d urtj|}|d u r"t d|d u r-t|d }|| _|| _|| _|| _|| _	d S )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    r   O/var/www/html/corbot_env/lib/python3.10/site-packages/sentry_sdk/attachments.py__init__   s   	
zAttachment.__init__c                 C   sJ   d}| j durt| j r|   }n
| j }nt| jd}t|d| j| jdS )z-Returns an envelope item for this attachment.N)r   
attachment)payloadtyper   r   )r   callabler   r   r   r   r   )r   r   r   r   r   to_envelope_item#   s   


zAttachment.to_envelope_itemc                 C   s   d| j f S )Nz<Attachment %r>)r   )r   r   r   r   __repr__5   s   zAttachment.__repr__)NNNNF)__name__
__module____qualname__r   r   r   r   r   r   r   r      s    
r   )r
   r   sentry_sdk._typesr   sentry_sdk.enveloper   r   typingr   r   r   r   r   r   r   r   <module>   s    