summaryrefslogtreecommitdiff
path: root/django/utils/_os.py
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2019-08-10 11:28:00 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-08-13 17:17:39 +0200
commit88c0b907e76bccfe1a25dc6580272b07aebd45d6 (patch)
treeb5c2d75e90c28d279ffde81bcfe4abdd2f4913de /django/utils/_os.py
parentc19ad2da4b573431843e5cead77f4139e29c77a0 (diff)
Refs #30461 -- Added django.utils._os.to_path().
Diffstat (limited to 'django/utils/_os.py')
-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)