�
5h�h � �2 � d Z ddlZddlZddlmZ ddlmZmZmZm Z ddl
Z
e
j e� � Z
G d� de� � Z G d� de� � Zdd
ededed
edef
d�Zdedefd�Zddededefd�Zdedefd�Zdefd�Zdedeeef deeef fd�ZdS )uf 参数验证和错误处理模块
这个模块提供了参数验证和错误处理的工具函数。
� N)�Path)�Any�Dict�List�Optionalc � � e Zd ZdZdS )�ValidationErroru 参数验证错误N��__name__�
__module__�__qualname__�__doc__� � �S/Users/wujianxiang/dev/mcpDevelop/desktopFileManager/file_manager_mcp/validators.pyr r � � � � � � ����Dr r c � � e Zd ZdZdS )�FileOperationErroru 文件操作错误Nr
r r r r r r r r F�path�
must_exist�must_be_file�must_be_dir�returnc � � � � rt � t � � st d� � �t � � � dk rt d� � �g d�}t � fd�|D � � � � rt d|� �� � �d� v rt d� � � t � � � � � � }n8# t t f$ r$}t d t |� � � �� � �d
}~ww xY w|r&|� � � st d� � �� � �|r:|� � � r&|�
� � st d� � �� � �|r:|� � � r&|� � � st d
� � �� � �|S )u* 验证路径参数
Args:
path: 路径字符串
must_exist: 路径必须存在
must_be_file: 路径必须是文件
must_be_dir: 路径必须是目录
Returns:
验证后的Path对象
Raises:
ValidationError: 验证失败
u'