diff --git a/dvc/rwlock.py b/dvc/rwlock.py index b05d255db..9da97fe4b 100644 --- a/dvc/rwlock.py +++ b/dvc/rwlock.py @@ -9,12 +9,7 @@ from funcy.py3 import lmap, lfilter, lmapcat from .exceptions import DvcException from .lock import LockError -from .utils.compat import ( - convert_to_unicode, - FileNotFoundError, - JSONDecodeError, - str, -) +from .utils.compat import FileNotFoundError, JSONDecodeError, str from .utils.fs import relpath INFO_SCHEMA = {"pid": int, "cmd": str} @@ -44,7 +39,7 @@ def _edit_rwlock(lock_dir): try: with open(path, "r") as fobj: lock = json.load(fobj) - lock = SCHEMA(convert_to_unicode(lock)) + lock = SCHEMA(lock) except FileNotFoundError: lock = SCHEMA({}) except JSONDecodeError as exc: diff --git a/dvc/stage.py b/dvc/stage.py index 79127e261..a795a6852 100644 --- a/dvc/stage.py +++ b/dvc/stage.py @@ -421,10 +421,8 @@ class Stage(object): @staticmethod def validate(d, fname=None): - from dvc.utils.compat import convert_to_unicode - try: - Stage.COMPILED_SCHEMA(convert_to_unicode(d)) + Stage.COMPILED_SCHEMA(d) except MultipleInvalid as exc: raise StageFileFormatError(fname, exc) diff --git a/dvc/utils/compat.py b/dvc/utils/compat.py index 23fd141e9..00039b7fe 100644 --- a/dvc/utils/compat.py +++ b/dvc/utils/compat.py @@ -116,15 +116,6 @@ if is_py2: def __exit__(self, *args): self.close() - def convert_to_unicode(data): - if isinstance(data, builtin_str): - return str(data) - if isinstance(data, dict): - return dict(map(convert_to_unicode, data.items())) - if isinstance(data, (list, tuple)): - return type(data)(map(convert_to_unicode, data)) - return data - elif is_py3: import pathlib # noqa: F401 @@ -152,9 +143,6 @@ elif is_py3: range = range # noqa: F821 FileNotFoundError = FileNotFoundError - def convert_to_unicode(data): - return data - # Backport os.fspath() from Python 3.6 try: