Current File : //usr/lib/python3.6/site-packages/sos/__pycache__/utilities.cpython-36.pyc |
3
\��h�a � ( @ s� d dl Z d dlZd dlZd dlZd dlmZmZmZ d dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZd dlZd dlmZ d dlmZ yd dlmZ W n ek
r� d dlmZ Y nX ejd�ZdZyd dlZeje � d ZW nF ee!fk
�r< d d
l"m#Z# dZ$ej%de#e$d
dd�� d�� Y nX dZ&ddddddddddddddddd d!d"d#d$d%d&d'gZ'd(d)� Z(dSd*d+�Z)d,d'� Z*dTd.d�Z+d/d0� Z,d1d� Z-dUd2d�Z.d3d� Z/dVd4d�Z0e1d5�d6d7�Z2e&dddddddddddfd8d%�Z3dWd9d&�Z4dXd:d�Z5dYd<d$�Z6dZd>d�Z7e j8fd?d@�Z9dAd� Z:dBd� Z;dCd � Z<dDd!� Z=dEd� Z>e j?dF�dGd"�Z@dHd� ZAg fdId#�ZBG dJdK� dK�ZCG dLdM� dMejD�ZEG dNdO� dOejD�ZFG dPd� d�ZGG dQd� d�ZHG dRd� deI�ZJdS )[� N)�Popen�PIPE�STDOUT)�closing)�deque)�parse)�
parse_versionZsosFT)�fillz�WARNING: Failed to load 'magic' module version >= 0.4.20 which sos aims to use for detecting binary files. A less effective method will be used. It is recommended to install proper python3-magic package with the module.
�
�H )Zreplace_whitespacei, �TIMEOUT_DEFAULT�ImporterHelper�SoSTimeoutError�TempFileUtil�bold�file_is_binary�fileobj�find�get_human_readable�grep�
import_module�
is_executable�listdirr �path_exists�
path_isdir�path_isfile�path_islink� path_join�recursive_dict_values_by_key� shell_out�sos_get_command_output�tac_logs�tailc C s� t jd�}yB|j| dd�\}}}|s(| S t jdd|�jd�}|� d|� �}|S tk
r� } ztjd| � d |� �� | S d
}~X nX d
S )z< Convert the version into a PEP440 compliant version scheme.z2^([0-9][0-9.]*(?:(?:a|b|rc|.post|.dev)[0-9]+)*)\+?� )�maxsplitz[+~]+�.�-�+zUnable to format z to pep440 format: N)�re�compile�split�sub�strip� Exception�log�debug)�verZpublic_version_re�_ZpublicZlocalZsanitized_localZpep440_version�err� r3 �/usr/lib/python3.6/utilities.py�format_version_to_pep440P s r5 c C s |rt | �}t|�S t| �S )z6 Converts the version to PEP440 format before parsing )r5 r )r0 Zpep440Z
ver_pep440r3 r3 r4 �sos_parse_versiona s r6 c
C s<