From: Richard Earnshaw <[email protected]>
Add a method that will write out the MAINTAINERS.yml data with a
suitable leading comment. This avoids the need, should it arise of
having multiple scripts needing to do something similar. Adjust
add-write-after.py to use this. Update MAINTAINERS.yml to include the
new comment.
ChangeLog:
* MAINTAINERS.yml: Add initial comment
contrib/ChangeLog:
* maintainer_utils.py(store): New function.
* add-write-after.py(main): Use it.
---
MAINTAINERS.yml | 4 ++++
contrib/add-write-after.py | 11 +++++------
contrib/maintainer_utils.py | 14 ++++++++++++++
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/MAINTAINERS.yml b/MAINTAINERS.yml
index 1b4432428752a..5d44576d7579b 100644
--- a/MAINTAINERS.yml
+++ b/MAINTAINERS.yml
@@ -1,3 +1,7 @@
+# If you edit this file, please validate with:
+# contrib/maintainer_utils.py <MAINTAINERS.yml>
+# before committing.
+
users:
- sn: Abson
cn: Spencer Abson
diff --git a/contrib/add-write-after.py b/contrib/add-write-after.py
index 6bbcd8c7e3b22..693bd8cd95362 100755
--- a/contrib/add-write-after.py
+++ b/contrib/add-write-after.py
@@ -141,13 +141,12 @@ def main():
data['users'] = sorted(data['users'],
key = lambda k: (unilower(k['sn']),
unilower(k['cn'])))
- if opts.outfilename and opts.outfilename != '-':
- outfd = open (opts.outfilename, "w", encoding="utf-8")
- elif opts.outfilename and opts.outfilename == '-':
- outfd = sys.stdout
+ if opts.outfilename and opts.outfilename == '-':
+ maintutils.store(data)
else:
- outfd = open (args[0], "w", encoding="utf-8")
- yaml.dump (data, outfd, allow_unicode = True, sort_keys = False)
+ maintutils.store(
+ data,
+ file=opts.outfilename if opts.outfilename else args[0])
return 0
if __name__ == "__main__":
diff --git a/contrib/maintainer_utils.py b/contrib/maintainer_utils.py
index 9dfc6f0fea62b..d3af121d075c9 100755
--- a/contrib/maintainer_utils.py
+++ b/contrib/maintainer_utils.py
@@ -296,6 +296,20 @@ def load(file):
return data
+def store(data, file=None, fd=sys.stdout):
+ # Make sure we don't write something that is not conformant
+ validate(data)
+ if file:
+ fd = open(file, "w", encoding="utf-8")
+ print("# If you edit this file, please validate with:",
+ file=fd)
+ print("# contrib/maintainer_utils.py <MAINTAINERS.yml>",
+ file=fd)
+ print("# before committing.\n", file=fd)
+ yaml.dump(data, fd, allow_unicode=True, sort_keys=False)
+ if file:
+ fd.close()
+
def main():
if len(sys.argv) != 2:
print(f"Usage: {sys.argv[0]} path-to-MAINTAINERS.yml")
--
2.54.0