File: //usr/lib/python3/dist-packages/uaclient/files/__pycache__/files.cpython-310.pyc
o
��Jh�
� @ s� d dl Z d dlZd dlZd dlmZmZmZ d dlmZm Z m
Z
mZmZ e �
� Ze�e�e��ZG dd� d�ZG dd� d�ZG dd � d e�ZdS )
� N)�Any�Dict�Optional)�defaults�event_logger�
exceptions�system�utilc @ s� e Zd Zejdfdededefdd�Zedefdd ��Z edefd
d��Z
edd
� �Zdefdd�Zde
e fdd�Zdd� ZdS )�UAFileT�name� directory�privatec C s* || _ || _|| _tj�| j | j�| _d S �N)�
_directory�
_file_name�_is_private�os�path�join�_path)�selfr r r
� r �6/usr/lib/python3/dist-packages/uaclient/files/files.py�__init__
s zUAFile.__init__�returnc C � | j S r )r �r r r r r � zUAFile.pathc C r r )r r r r r �
is_private r zUAFile.is_privatec C s t j�| j�S r )r r �existsr r r r �
is_present s zUAFile.is_present�contentc C sp | j rtjntj}ztj�| j�tjkrtj | jdd� nt� | j� W n t
y- Y nw t�| j||� d S )Ni� )�mode)
r r �ROOT_READABLE_MODE�WORLD_READABLE_MODEr r �basenamer �PRIVATE_SUBDIR�makedirs�OSErrorr �
write_file)r r! � file_moder r r �write$ s ����zUAFile.writec C s: d }z t �| j�}W |S ty t�d| j� Y |S w )Nz(Tried to load %s but file does not exist)r � load_filer �FileNotFoundError�LOG�debug�r r! r r r �read5 s ��zUAFile.readc C s t �| j� d S r )r �ensure_file_absentr r r r r �delete= s z
UAFile.deleteN)�__name__�
__module__�__qualname__r �DEFAULT_DATA_DIR�str�boolr �propertyr r r r+ r r1 r3 r r r r r
s&