D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib
/
python3.6
/
site-packages
/
cloudinit
/
distros
/
parsers
/
__pycache__
/
Filename :
sys_conf.cpython-36.pyc
back
Copy
3 \�me? � @ sf d dl Z d dlZd dlmZ d dlZdZe jde �e jd�e jd�gZdd� ZG d d � d ej �Z dS )� N)�StringIOz[a-zA-Z_]+[a-zA-Z0-9_]*z\$z\$[0-9#\?\-@\*]z\$\{.+\}c C s xt D ]}|j| �rdS qW dS )NTF)�SHELL_VAR_REGEXES�search)�text�r� r �/usr/lib/python3.6/sys_conf.py�_contains_shell_variable$ s r c @ s2 e Zd ZdZdd� Zdd� Zddd�Zd d � ZdS ) �SysConfa A configobj.ConfigObj subclass specialised for sysconfig files. :param contents: The sysconfig file to parse, in a format accepted by ``configobj.ConfigObj.__init__`` (i.e. "a filename, file like object, or list of lines"). c C s t jj| |ddd� d S )NFT)Z interpolationZwrite_empty_values)� configobj� ConfigObj�__init__)�self�contentsr r r r 4 s zSysConf.__init__c C sD | j � }t� }t|ttf�r.|j dj|�� n|j t|�� |j� S )N� )�writer � isinstance�list�tuple�join�str�getvalue)r r Zout_contentsr r r �__str__9 s zSysConf.__str__Fc s� t |t�std| ��t|�dkr&dS d }|d dkr\|d dkr\t|�dkr�� fdd�}n`|j� jd �rz|j� jd �rznBtjd|�r�t |�r�tjd|�r�� fd d�}q�� fdd�}nt j}|s�|S ||�S )NzValue "%s" is not a stringr � �"�'� c s � j | �| S )N)�_get_single_quote)�x)r r r �<lambda>K s z SysConf._quote.<locals>.<lambda>z$(�)z [\t\r\n ]z[\n\"']c s � j | �| S )N)Z_get_triple_quote)r )r r r r Y s c s � j | �| S )N)r )r )r r r r ] s )r r ���)r r )r r � ValueError�len�strip� startswith�endswith�rer r �shlexZquote)r �valueZ multilineZ quot_funcr )r r �_quoteB s&