o
    1 i3                  	   @   s   d dl Z d dlZd dlZd dlmZ d dlZd dlmZ edZedZ	G dd de j
Z	dd	ed
ededefddZded	edefddZd	ededefddZd	edededejfddZdS )    N)TypeVar)validate_socket_filepathKVc                   @   s   e Zd ZdZdZdZdS )ResponseTypehttpstreamZ	websocketN)__name__
__module____qualname__HTTPZSTREAMZ	WEBSOCKET r   r   l/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/ray/dashboard/subprocesses/utils.pyr      s    r    module_namelogging_filename	extensionreturnc                 C   s2   |sdS t j|\}}|s|}| d|  | S )a  
    Parse logging_filename = STEM EXTENSION,
    return STEM _ MODULE_NAME _ EXTENSION

    If logging_filename is empty, return empty string.
    If extension is empty, use the extension from logging_filename.

    Example:
    module_name = "TestModule"
    logging_filename = "dashboard.log"
    STEM = "dashboard"
    EXTENSION = ".log"
    return "dashboard_TestModule.log"
    r   _)ospathsplitext)r   r   r   stemextr   r   r   module_logging_filename   s   r   
socket_dirc                 C   s   t j| d| }t| |S )NZdash_)r   r   joinr   )r   r   socket_pathr   r   r   get_socket_path-   s   r   session_namec                 C   s   d|  d | S )Nz\\.\pipe\dash_r   r   )r   r   r   r   r   get_named_pipe_path3   s   r    c                 C   s@   t jdkrt| |}t|}n
t|| }t|}tj|dS )zG
    Get the aiohttp http client session to the subprocess module.
    win32)	connector)sysplatformr    aiohttpZNamedPipeConnectorr   ZUnixConnectorClientSession)r   r   r   Znamed_pipe_pathr"   r   r   r   r   get_http_session_to_module7   s   



r'   )r   )enumr   r#   typingr   r%   Zray._private.utilsr   r   r   Enumr   strr   r   r    r&   r'   r   r   r   r   <module>   s<    
