관리-도구
편집 파일: clselectctl.cpython-311.pyc
� %�4g�$ � �z � d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dlmZ d dl Z d dl Z d dlZd dl mZ d dlmZ dd lmZ d d lmZmZ d dlmZmZ d dlmZ dd lmZ ddlmZ ddlm Z ddl!m"Z" d dl m#Z#mZ g d�Z$ edd� � Z% edd� � Z&d� Z'd� Z(d� Z)d� Z*d� Z+d#d�Z,d� Z-d#d�Z.d� Z/d � Z0d!� Z1d"� Z2dS )$� )�absolute_import)�print_function)�divisionN)� namedtuple)�List)� iteritems� )�clpassenger)�cpusers� getCPName)�drop_privileges�ClPwd)�is_no_php_binaries_on_cpanel)�ClSelectExcept)�NodeManager)� PythonManager)�get_abs_rel)�Optionalr )�public_html�rubyvenv� virtualenvz.cl.selectorz.cagefs�www�nodevenv�ApplicationSummary��user�version�doc_root�interpreter� app_status�InterpreterSummary�r �version_full�enabled� installedc �@ � d| v rt d� � �t j � | � � rt d� � �| d dk rt d� � �| t v rt d| z � � �t j d| � � }|�t d � � �d S ) N� z#Directory should not contain spacesz+Directory should be relative to user's home����/z-Directory should not contain a trailing slashzDirectory "%s" not allowedz[-\.\w\/]+$z*Directory name contains invalid characters)� ValueError�os�path�isabs�DISABLED_DIRECTORY_NAMES�re�match)� directory� all_valids �K/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectctl.py�check_directoryr4 &