diff --git a/datafiles/managers.py b/datafiles/managers.py index ff42ced6..db589ac6 100644 --- a/datafiles/managers.py +++ b/datafiles/managers.py @@ -163,7 +163,7 @@ def load(self, *, first_load=False) -> None: log.debug(f"Converting '{name}' data with {converter}") if getattr(converter, 'DATACLASS', None): - self._set_dataclass_value(data, name, converter, first_load) + self._set_dataclass_value(data, name, converter) else: self._set_attribute_value(data, name, converter, first_load) @@ -171,7 +171,7 @@ def load(self, *, first_load=False) -> None: self.modified = False - def _set_dataclass_value(self, data, name, converter, first_load): + def _set_dataclass_value(self, data, name, converter): # TODO: Support nesting unlimited levels # https://github.com/jacebrowning/datafiles/issues/22 nested_data = data.get(name) @@ -186,8 +186,6 @@ def _set_dataclass_value(self, data, name, converter, first_load): if field.name not in nested_data: # type: ignore nested_data[field.name] = None # type: ignore dataclass = converter.to_python_value(nested_data, target=dataclass) - elif first_load: - return # TODO: Figure out why datafile wasn't set if not hasattr(dataclass, 'datafile'): diff --git a/docs/index.md b/docs/index.md index 8453400a..31a14382 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,3 @@ -# Overview - Datafiles is a bidirectional serialization library for Python [dataclasses](https://docs.python.org/3/library/dataclasses.html) that automatically synchronizes object instances to the filesystem using type annotations. It supports a variety of file formats with round-trip preservation of formatting and comments, where possible. # Installation diff --git a/pyproject.toml b/pyproject.toml index dfad6f0d..ab735cab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "datafiles" -version = "0.1a8" +version = "0.1a9" description = "File-based ORM for dataclasses." authors = ["Jace Browning "] license = "MIT"