a
    ؁h~	                     @   s\   d dl Z d dlZd dlmZ d dlmZmZ d dlmZ	 dd Z
dd Zd	d
 Zdd ZdS )    N)settings)create_thumbnail
update_tgl)koleksic              	   C   sN  t jddid|i |D ],}t d }t jjjt jjj|d|j|j	|j
dd}tj}|jjdd	|jjd
d	|jjd
}| ttj|jd    tj|jd  }tj|||}	tjtj||dd t|	d(}
| D ]}|
| qW d   n1 s0    Y  | d	| |_|  t|j qdS )zG
    Simpan file baru dan soft-delete semua file aktif sebelumnya.
    
is_deletedTpk_contentstgldetikpkF)r   namesize_typer   04/02r      )exist_okzxb+N)	m_koleksiAttachments_updater   objectscreateContentsgetr   r   content_typer   FILE_DIRcreatedyearmonthdayhashlibmd5ospathsplitextencode	hexdigestjoinmakedirsopenchunkswritesaver   )requestr   filesfilerandom_
attachmentprefixinfixfilename	full_pathbufferchunk r8   QD:\WORK\M-FILE\MFILE_PAPTENG_NEW\mfile_papteng_new\webapp\views\fileman\upload.pydeploy   s*    

	&:,r:   c                 C   s   t jddid| i dS )z.
    Hapus 1 lampiran (soft-delete saja).
    r   Tr
   Nr   r   r   r	   r8   r8   r9   destroy_one+   s    r<   c                 C   s   t jddid| i dS )z;
    Soft delete semua lampiran dalam konten tertentu.
    r   Tr   Nr;   )r   r8   r8   r9   destroy_many2   s    r=   c              
   C   s   zt jjj| d}W n t jjy,   Y dS 0 z,tjtj	|j}tj
|rXt| W n. ty } ztd| W Y d}~n
d}~0 0 |  dS )zv
    Hapus file dari disk + database (PERMANEN).
    Gunakan hanya jika yakin file tak dibutuhkan untuk rollback.
    r	   Nu   ❌ Gagal hapus file dari disk:)r   r   r   r   DoesNotExistr"   r#   r'   r   r   existsremove	Exceptionprintdelete)r
   r1   r5   er8   r8   r9   destroy_one_permanent9   s     rE   )r"   r    django.confr   webapp.commonr   r   webapp.modelsr   r   r:   r<   r=   rE   r8   r8   r8   r9   <module>   s   %