import yaml
+class _IBSEmitter(yaml.emitter.Emitter):
+
+ """Override the default YAML Emitter to indent block sequences."""
+
+ def expect_block_sequence(self):
+ """Match the expectations of the ``yamllint`` style checker."""
+
+ # TODO(fungi) Get an option for this implemented upstream in
+ # the pyyaml library
+ self.increase_indent(flow=False, indentless=False)
+ self.state = self.expect_first_block_sequence_item
+
+
+class _IBSDumper(yaml.SafeDumper, _IBSEmitter):
+
+ """Use our _IBSEmitter instead of the default implementation."""
+
+ pass
+
+
class Data:
"""A file containing universe elements and their facets."""
os.umask(old_umask)
# write and close the file
- yaml.safe_dump(self.data, allow_unicode=True,
- default_flow_style=False, stream=file_descriptor)
+ yaml.dump(self.data, Dumper=_IBSDumper, allow_unicode=True,
+ default_flow_style=False, explicit_start=True, indent=4,
+ stream=file_descriptor)
file_descriptor.close()
# unset the modified flag
def find_file(
file_name=None,
- category=None,
+ group=None,
prefix=None,
relative=None,
search=None,