MCPcopy Index your code
hub / github.com/vastsa/FileCodeBox / sanitize_filename

Function sanitize_filename

core/utils.py:140–161  ·  view source on GitHub ↗

安全处理文件名: 1. 剥离路径只保留文件名 2. 替换非法字符 3. 处理空文件名情况

(filename: str)

Source from the content-addressed store, hash-verified

138
139
140async def sanitize_filename(filename: str) -> str:
141 """
142 安全处理文件名:
143 1. 剥离路径只保留文件名
144 2. 替换非法字符
145 3. 处理空文件名情况
146 """
147 filename = os.path.basename(filename)
148 illegal_chars = r'[\\/*?:"<>|\x00-\x1F]' # 包含控制字符
149 # 替换非法字符为下划线
150 cleaned = re.sub(illegal_chars, "_", filename)
151 # 处理空格(可选替换为_)
152 cleaned = cleaned.replace(" ", "_")
153 # 处理连续下划线
154 cleaned = re.sub(r"_+", "_", cleaned)
155 # 处理首尾特殊字符
156 cleaned = cleaned.strip("._")
157 # 处理空文件名情况
158 if not cleaned:
159 cleaned = "unnamed_file"
160 # 长度限制(按需调整)
161 return cleaned[:255]

Callers 4

save_fileMethod · 0.90
save_fileMethod · 0.90
get_file_path_nameFunction · 0.90
generate_file_pathMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected