Skip to content

Commit

Permalink
Use default dataclass values
Browse files Browse the repository at this point in the history
  • Loading branch information
jacebrowning committed Dec 22, 2018
1 parent 6de760a commit 22e03d8
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 7 deletions.
6 changes: 2 additions & 4 deletions datafiles/managers.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,15 +163,15 @@ 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)

log.info(f'Loaded instance: {self._instance.__class__.__name__}')

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)
Expand All @@ -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'):
Expand Down
2 changes: 0 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tool.poetry]

name = "datafiles"
version = "0.1a8"
version = "0.1a9"
description = "File-based ORM for dataclasses."
authors = ["Jace Browning <jacebrowning@gmail.com>"]
license = "MIT"
Expand Down

0 comments on commit 22e03d8

Please sign in to comment.