summaryrefslogtreecommitdiff
path: root/django/utils
diff options
context:
space:
mode:
Diffstat (limited to 'django/utils')
-rw-r--r--django/utils/_os.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/django/utils/_os.py b/django/utils/_os.py
index c901d584c1..b2a2a9d426 100644
--- a/django/utils/_os.py
+++ b/django/utils/_os.py
@@ -1,6 +1,7 @@
import os
import tempfile
from os.path import abspath, dirname, join, normcase, sep
+from pathlib import Path
from django.core.exceptions import SuspiciousFileOperation
@@ -47,3 +48,12 @@ def symlinks_supported():
except (OSError, NotImplementedError):
supported = False
return supported
+
+
+def to_path(value):
+ """Convert value to a pathlib.Path instance, if not already a Path."""
+ if isinstance(value, Path):
+ return value
+ elif not isinstance(value, str):
+ raise TypeError('Invalid path type: %s' % type(value).__name__)
+ return Path(value)