Current File : //usr/lib/python3/dist-packages/uaclient/files/__pycache__/files.cpython-312.pyc |
�
Uٵg�
� �� � d dl Z d dlZd dlZd dlmZmZmZ d dlmZm Z m
Z
mZmZ e j � Z ej ej e� � Z G d� d� Z G d� d� Z G d� d e� Zy)
� N)�Any�Dict�Optional)�defaults�event_logger�
exceptions�system�utilc � � e Zd Zej dfdededefd�Zedefd�� Z edefd�� Z
ed � � Zd
efd�Zde
e fd�Zd
� Zy)�UAFileT�name� directory�privatec � � || _ || _ || _ t j j | j | j � | _ y �N)�
_directory�
_file_name�_is_private�os�path�join�_path)�selfr
r r s �6/usr/lib/python3/dist-packages/uaclient/files/files.py�__init__zUAFile.__init__
s8 � � $������"����W�W�\�\�$�/�/�4�?�?�C��
� �returnc � � | j S r )r �r s r r zUAFile.path s � ��z�z�r c � � | j S r )r r s r �
is_privatezUAFile.is_private s � ����r c �T � t j j | j � S r )r r �existsr s r �
is_presentzUAFile.is_present s � ��w�w�~�~�d�i�i�(�(r �contentc � � | j rt j nt j } t j
j
| j � t j k( r"t j | j d�� nt j | j � t j | j
||� y # t $ r Y �-w xY w)Ni� )�mode)
r! r �ROOT_READABLE_MODE�WORLD_READABLE_MODEr r �basenamer �PRIVATE_SUBDIR�makedirs�OSErrorr �
write_file)r r% � file_modes r �writezUAFile.write$ s� � � ���
�'�'��-�-� � ��w�w������0�H�4K�4K�K����D�O�O�%�8����D�O�O�,� ���$�)�)�W�i�8�� � �� �s �A;C � C�Cc � � d } t j | j � }|S # t $ r$ t j d| j � Y |S w xY w)Nz(Tried to load %s but file does not exist)r � load_filer �FileNotFoundError�LOG�debug�r r% s r �readzUAFile.read5 sS � ��� M��&�&�t�y�y�1�G� ��� !� M��I�I�@�$�)�)�L��� M�s �% �)A�Ac �B � t j | j � y r )r �ensure_file_absentr r s r �deletez
UAFile.delete= s � ��!�!�$�)�)�,r N)�__name__�
__module__�__qualname__r �DEFAULT_DATA_DIR�str�boolr �propertyr r! r$ r0 r r7 r: � r r r r s� � � "�2�2�� D�� D� � D� � D� ��c� � �� � �D� � � � �)� �)�9�S� 9�"�h�s�m� �-r r c �` � e Zd Zdefd�Zdeeef fd�Zde eeef fd�Z
d� Zed� � Z
y )
�ProJSONFile�pro_filec � � || _ y r )rE )r rE s r r zProJSONFile.__init__B s � � !��
r r% c � � | j j t j |t j
�� �� y )N��cls)r% )rE r0 �json�dumpsr
�DatetimeAwareJSONEncoderr6 s r r0 zProJSONFile.writeH s- � ��
�
����J�J�w�D�,I�,I�J� �
r r c �, � | j j � }|r& t j |t j
�� S y # t j $ r<}t j | j j dt |� z �� �d }~ww xY w)NrH �
)�source�out)rE r7 rJ �loadsr
�DatetimeAwareJSONDecoder�JSONDecodeErrorr �InvalidJsonr r? )r r% �es r r7 zProJSONFile.readM sz � ��-�-�$�$�&���
��z�z�'�t�/L�/L�M�M� �� �'�'�
� �,�,��=�=�-�-�4�#�a�&�=�� ��
�s �$A �B�7B�Bc �6 � | j j � S r )rE r: r s r r: zProJSONFile.deleteZ s � ��}�}�#�#�%�%r c �. � | j j S r )rE r$ r s r r$ zProJSONFile.is_present] s � ��}�}�'�'�'r N)r; r<