File: //lib/python3/dist-packages/uaclient/files/__pycache__/files.cpython-38.pyc
U
��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 Zejdfeeed�dd�Zeed�dd��Z eed�dd ��Z
ed
d� �Zed�d
d�Ze
e d�dd�Zdd� ZdS )�UAFileT)�name� directory�privatec C s* || _ || _|| _tj�| j | j�| _d S �N)�
_directoryZ
_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 s | j S r )r �r r r r r s zUAFile.pathc C s | j S r )r r r r r �
is_private s zUAFile.is_privatec C s t j�| j�S r )r r �existsr r r r �
is_present s zUAFile.is_present��contentc C sr | j rtjntj}z6tj�| j�tjkr:tj | jdd� nt� | j� W n t
k
r\ Y nX t�| j||� d S )Ni� )�mode)
r r ZROOT_READABLE_MODEZWORLD_READABLE_MODEr r �basenamer ZPRIVATE_SUBDIR�makedirs�OSErrorr Z
write_file)r r Z file_moder r r �write$ s ��zUAFile.writec C s<