File: //proc/thread-self/root/usr/libexec/kcare/python/kcarectl/__pycache__/utils.cpython-38.pyc
U
n�h � @ sR d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl m Z ddl
mZ e�d�ZdZed�Zed �Zed�Zd8dd
�Zd9dd�Zd:dd�Zd;dd�Zdd� Zd<dd�Zdedfdd�Z dd� Z!dd� Z"d d!� Z#d"d#� Z$d$d%� Z%d&d'� Z&ed(d)� �Z'd*d+� Z(d=d,d-�Z)d>d.d/�Z*d0d1� Z+d2d3� Z,d4d5� Z-de.fdfd6d7�Z/dS )?� )�print_functionN)�datetime� )� constantsz^(\d+[.]\d+[-]\d+)� � � F�wc C s� | d }t j�|�}|r.t j�|�s.t �|� t||��&}|�|� |�� t �|� � � W 5 Q R X t �|t j
�}zt �|� W 5 t �|� X t �|| � d S )Nz.tmp)
�os�path�dirname�exists�makedirs�open�write�flush�fsync�fileno�O_RDONLY�close�rename)�fname�content�
ensure_dir�modeZ tmp_fnameZdname�fZ folder_fd� r �+/usr/libexec/kcare/python/kcarectl/utils.py�atomic_write! s
r �utf-8c C s4 t | �tkr| S t | �tkr&| �|�S | �|�S d S �N)�type�ntype�btype�decode�encode��data�encodingr r r �nstr8 s
r) �latin1c C s t | �tkr| �|�} | S r )r! �utyper% r&