+
    Tjo                         R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt Rt ! R R]
4      t ! R R]4      t ! R R	]4      t ! R R
]4      tR# )z&
Classes representing uploaded files.
N)BytesIO)settings)temp)File)validate_file_nameUploadedFileTemporaryUploadedFileInMemoryUploadedFileSimpleUploadedFilec                   ^   a a ] tR t^t oRtRV 3R lltR tR tR t]	! ]]4      t
RtVtV ;t# )r   z
An abstract uploaded file (``TemporaryUploadedFile`` and
``InMemoryUploadedFile`` are the built-in concrete subclasses).

An ``UploadedFile`` object behaves somewhat like a file object and
represents some file data that the user submitted with a form.
c                V   < \         SV `  W4       W@n        W0n        WPn        W`n        R # N)super__init__sizecontent_typecharsetcontent_type_extra)selffilenamer   r   r   r   	__class__s   &&&&&&&S/var/www/idalgo/venv/lib/python3.14/site-packages/django/core/files/uploadedfile.pyr   UploadedFile.__init__   s(     	$	("4    c                p    R V P                   P                  : RV P                  : RV P                  : R2# )<z: z (z)>)r   __name__r   r   r   s   &r   __repr__UploadedFile.__repr__-   s#    "&.."9"9499dFWFWXXr   c                    V P                   # r   )_namer   s   &r   	_get_nameUploadedFile._get_name0   s    zzr   c                   Ve   \         P                  P                  V4      p\        V4      ^8  dG   \         P                  P	                  V4      w  rVR,          pVR ^\        V4      ,
           V,           p\        V4      pWn        R # )N:N   N)ospathbasenamelensplitextr   r"   )r   r   exts   && r   	_set_nameUploadedFile._set_name3   sq    77##D)D 4y3GG,,T2	$i,cCHn-3%d+D
r   )r"   r   r   r   r   )NNNNNN)r   
__module____qualname____firstlineno____doc__r   r   r#   r-   propertyr   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r   r      s/     5Y" Iy)DDr   c                   F   a a ] tR t^Gt oRtRV 3R lltR tR tRtVt	V ;t
# )r   z@
A file uploaded to a temporary location (i.e. stream-to-disk).
c                   < \         P                  P                  V4      w  rg\        P                  ! R V,           \
        P                  R7      p\        S	V `!  WW#WE4       R# )z.upload)suffixdirN)	r'   r(   r+   tempfileNamedTemporaryFiler   FILE_UPLOAD_TEMP_DIRr   r   )
r   r   r   r   r   r   _r,   r   r   s
   &&&&&&   r   r   TemporaryUploadedFile.__init__L   sK    !!$'**s?(E(E
 	\Ur   c                .    V P                   P                  # )z"Return the full path of this file.)r   r   r   s   &r   temporary_file_path)TemporaryUploadedFile.temporary_file_pathS   s    yy~~r   c                \     V P                   P                  4       #   \         d     R # i ; ir   )r   closeFileNotFoundErrorr   s   &r   rF   TemporaryUploadedFile.closeW   s,    	99??$$  	 		s    ++ r   )r   r/   r0   r1   r2   r   rC   rF   r4   r5   r6   r7   s   @@r   r   r   G   s     V r   c                   X   a a ] tR t^at oRtRV 3R lltRR ltRR ltRR ltRt	Vt
V ;t# )r	   z6
A file uploaded into memory (i.e. stream-to-memory).
c                6   < \         SV `  WWEWg4       W n        R # r   )r   r   
field_name)	r   r   rL   r   r   r   r   r   r   s	   &&&&&&&&r   r   InMemoryUploadedFile.__init__f   s     	\U$r   c                <    V P                   P                  ^ 4       V # )    )r   seek)r   modes   &&r   openInMemoryUploadedFile.opens   s    		qr   c              #  h   "   V P                   P                  ^ 4       V P                  4       x  R# 5i)rO   N)r   rP   readr   
chunk_sizes   &&r   chunksInMemoryUploadedFile.chunksw   s!     		qiiks   02c                    R # )FrI   rV   s   &&r   multiple_chunks$InMemoryUploadedFile.multiple_chunks{   s    r   )rL   r   )r   r/   r0   r1   r2   r   rR   rX   r[   r4   r5   r6   r7   s   @@r   r	   r	   a   s#     % r   c                   J   a a ] tR t^t oRtRV 3R llt]R 4       tRtVt	V ;t
# )r
   zN
A simple representation of a file, which just has content, size, and a
name.
c           	     l   < T;'       g    R p\         SV `  \        V4      RW\        V4      RR4       R# )r   N)r   r   r   r*   )r   r   contentr   r   s   &&&&r   r   SimpleUploadedFile.__init__   s1    ..SGdDGdD	
r   c                R    V ! VR,          VR,          VP                  RR4      4      # )zn
Create a SimpleUploadedFile object from a dictionary with keys:
   - filename
   - content-type
   - content
filenamer_   zcontent-type
text/plain)get)cls	file_dicts   &&r   	from_dictSimpleUploadedFile.from_dict   s/     j!i MM.,7
 	
r   rI   )rc   )r   r/   r0   r1   r2   r   classmethodrg   r4   r5   r6   r7   s   @@r   r
   r
      s(     

 
 
 
r   )r   r   r	   r
   )r2   r'   ior   django.confr   django.core.filesr   r=   django.core.files.baser   django.core.files.utilsr   __all__r   r   r	   r
   rI   r   r   <module>rp      sW    
    . ' 6/*4 /*dL 4< >
- 
r   