From 8298971836005486f50337e761fae8627a069084 Mon Sep 17 00:00:00 2001 From: Dobatymo Date: Mon, 19 Dec 2022 10:06:41 +0800 Subject: only convert input to str if necessary --- natsort/natsort.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/natsort/natsort.py b/natsort/natsort.py index 2038f3e..3904ec5 100644 --- a/natsort/natsort.py +++ b/natsort/natsort.py @@ -9,6 +9,7 @@ The majority of the "work" is defined in utils.py. import platform from functools import partial from operator import itemgetter +from pathlib import PurePath from typing import ( Any, Callable, @@ -669,7 +670,9 @@ def _split_apply( ) -> Iterator[str]: if key is not None: v = key(v) - return utils.path_splitter(str(v)) + if not isinstance(v, (str, PurePath)): + v = str(v) + return utils.path_splitter(v) # Choose the implementation based on the host OS -- cgit v1.2.1