|
|
- # coding: utf8
- from __future__ import unicode_literals
-
- from pathlib import Path
- import sys
-
-
- is_python2 = sys.version_info[0] == 2
- is_python3 = sys.version_info[0] == 3
-
- if is_python2:
- basestring_ = basestring # noqa: F821
- else:
- basestring_ = str
-
-
- def force_path(location, require_exists=True):
- if not isinstance(location, Path):
- location = Path(location)
- if require_exists and not location.exists():
- raise ValueError("Can't read file: {}".format(location))
- return location
-
-
- def force_string(location):
- if isinstance(location, basestring_):
- return location
- if sys.version_info[0] == 2: # Python 2
- return str(location).decode("utf8")
- return str(location)
|