diff --git a/CHANGELOG.md b/CHANGELOG.md index 05671263..829e0a2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # 0.15 (alpha) - Removed `auto_load`/`auto_save` model options. +- Removed `INDENT_YAML_BLOCKS` setting. # 0.14 (2021-05-21) diff --git a/datafiles/formats.py b/datafiles/formats.py index e980583d..e890dfee 100644 --- a/datafiles/formats.py +++ b/datafiles/formats.py @@ -101,8 +101,7 @@ def serialize(cls, data): yaml = YAML() yaml.register_class(types.List) yaml.register_class(types.Dict) - if settings.INDENT_YAML_BLOCKS: - yaml.indent(mapping=2, sequence=4, offset=2) + yaml.indent(mapping=2, sequence=4, offset=2) stream = StringIO() yaml.dump(data, stream) @@ -138,10 +137,7 @@ def represent_none(self, _): class Dumper(yaml.Dumper): def increase_indent(self, flow=False, indentless=False): - return super().increase_indent( - flow=flow, - indentless=False if settings.INDENT_YAML_BLOCKS else indentless, - ) + return super().increase_indent(flow=flow, indentless=False) text = yaml.dump(data, Dumper=Dumper, sort_keys=False, default_flow_style=False) diff --git a/datafiles/settings.py b/datafiles/settings.py index 15bdd5bc..91f23a01 100644 --- a/datafiles/settings.py +++ b/datafiles/settings.py @@ -4,8 +4,6 @@ HOOKS_ENABLED = True -INDENT_YAML_BLOCKS = True - MINIMIZE_LIST_DIFFS = True YAML_LIBRARY = 'ruamel.yaml' diff --git a/datafiles/tests/test_formats.py b/datafiles/tests/test_formats.py index 43cf7b99..423e62e1 100644 --- a/datafiles/tests/test_formats.py +++ b/datafiles/tests/test_formats.py @@ -1,23 +1,12 @@ # pylint: disable=unused-variable -from pathlib import Path import pytest -from datafiles import formats, settings +from datafiles import formats from datafiles.utils import dedent -@pytest.fixture(autouse=True, scope='session') -def format_example(): - path = Path.cwd() / 'docs' / 'settings.md' - example = path.read_text() - example = example.replace(" - 4", "- 4") - example = example.replace(" - 5", "- 5") - example = example.replace(" - 6", "- 6") - path.write_text(example) - - def describe_serialize(): @pytest.fixture def data(): @@ -36,19 +25,6 @@ def it_indents_blocks_by_default(expect, data): """ ) - def it_can_render_lists_inline(expect, data, monkeypatch): - monkeypatch.setattr(settings, 'INDENT_YAML_BLOCKS', False) - text = formats.serialize(data, '.yaml') - expect(text) == dedent( - """ - key: value - items: - - 1 - - a - - - """ - ) - def describe_pyyaml(): def it_indents_blocks_by_default(expect, data): text = formats.serialize(data, '.yaml', formatter=formats.PyYAML) @@ -62,19 +38,6 @@ def it_indents_blocks_by_default(expect, data): """ ) - def it_can_render_lists_inline(expect, data, monkeypatch): - monkeypatch.setattr(settings, 'INDENT_YAML_BLOCKS', False) - text = formats.serialize(data, '.yaml', formatter=formats.PyYAML) - expect(text) == dedent( - """ - key: value - items: - - 1 - - a - - - """ - ) - def describe_deserialize(): @pytest.fixture diff --git a/docs/settings.md b/docs/settings.md index 41c5b8da..6aaff183 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -25,34 +25,6 @@ def pytest_runtest_setup(item): datafiles.settings.HOOKS_ENABLED = False ``` -# `INDENT_YAML_BLOCKS` - -In `datafiles >= 0.4`, YAML blocks are now indented by default, like so: - -```yaml -items: - - 1 - - 2 - - 3 -``` - -To make it easier to upgrade to this version, a client can disable this functionality: - -```python -import datafiles - -datafiles.settings.INDENT_YAML_BLOCKS = False -``` - -to produce YAML like: - -```yaml -items: -- 4 -- 5 -- 6 -``` - # `MINIMIZE_LIST_DIFFS` When serializing lists, `datafiles` intentionally deviates from the semantic representation of an empty list to optimize for the use case of storing YAML files in version control. diff --git a/pyproject.toml b/pyproject.toml index 3f2a187f..6e95e17b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "datafiles" -version = "0.15a1" +version = "0.15a2" description = "File-based ORM for dataclasses." license = "MIT"