HEX
Server: Apache
System: Linux infong-uk86 4.4.400-icpu-106 #2 SMP Mon Sep 15 08:23:40 UTC 2025 x86_64
User: u44115835 (4976590)
PHP: 8.4.17
Disabled: NONE
Upload Files
File: //kunden/lib/python3/dist-packages/dulwich/__pycache__/lfs.cpython-39.pyc
a

�~�_�	�@s,ddlZddlZddlZGdd�de�ZdS)�Nc@sJeZdZdZdd�Zedd��Zeddd��Zd	d
�Zdd�Z	d
d�Z
dS)�LFSStorez*Stores objects on disk, indexed by SHA256.cCs
||_dS)N)�path)�selfr�r�-/usr/lib/python3/dist-packages/dulwich/lfs.py�__init__szLFSStore.__init__cCsFtj�|�st�|�t�tj�|d��t�tj�|d��||�S)N�tmp�objects)�osr�isdir�mkdir�join)�cls�lfs_dirrrr�create s

zLFSStore.createFcCs&tj�|jd�}|r|�|�S||�S)NZlfs)r
rr
Z
controldirr)rZreporrrrr�	from_repo(s
zLFSStore.from_repocCs&tj�|jd|dd�|dd�|�S)Nr	r��)r
rr
�r�sharrr�	_sha_path/szLFSStore._sha_pathcCs2zt|�|�d�WSty,t|��Yn0dS)zOpen an object by sha.�rbN)�openr�FileNotFoundError�KeyErrorrrrr�open_object2szLFSStore.open_objectcCs�t��}tj�|jd�}tj|ddd��<}|D]}|�|�|�|�q.|�	�|j
}Wd�n1sj0Y|�|���}tj�
tj�|��s�t�tj�|��t�||�|��S)z6Write an object.

        Returns: object SHA
        r�wbF)�dir�mode�deleteN)�hashlibZsha256r
rr
�tempfileZNamedTemporaryFile�update�write�flush�namerZ	hexdigest�exists�dirname�makedirs�rename)rZchunksrZtmpdir�f�chunkZtmppathrrrr�write_object9s �
$zLFSStore.write_objectN)F)�__name__�
__module__�__qualname__�__doc__r�classmethodrrrrr,rrrrrs
r)r r
r!�objectrrrrr�<module>s