From 88c0b907e76bccfe1a25dc6580272b07aebd45d6 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sat, 10 Aug 2019 11:28:00 +0200 Subject: Refs #30461 -- Added django.utils._os.to_path(). --- django/utils/_os.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'django/utils') 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) -- cgit v1.3