�
㦧bf
� �~ � d dl Z d dlZd dlZd dlZd dlZ d dlZn# e$ r d dlZY nw xY we j d� � � Z d� Z
dS )� Nc # �& K � t j dk rt j � � }nt j � � }|� | � � |V � t
| d� � 5 }|� |� � d d d � � d S # 1 swxY w Y d S )N)� � �w)�sys�version_info�configparser�ConfigParser�SafeConfigParser�read�open�write)�filename�cfg�fps �0/usr/lib/python3/dist-packages/pbr/tests/util.py�open_configr 5 s� � � � �
��6�!�!��'�)�)����+�-�-���H�H�X����
�I�I�I�
�h�� � � ��� � �"�
�
�
�� � � � � � � � � � � ���� � � � � � s �#B�B
�
B
c �4 � d� }t j | |�� � S )zkshutil.rmtree() with error handler.
Handle 'access denied' from trying to delete read-only files.
c � � t j |t j � � s,t j |t j � � | |� � d S � )N)�os�access�W_OK�chmod�stat�S_IWUSR)�func�path�exc_infos r �onerrorzrmtree.<locals>.onerrorG s@ � ��y��r�w�'�'� ��H�T�4�<�(�(�(��D��J�J�J�J�J�� )r )�shutil�rmtree)r r s r r" |