diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/make_redirects.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/bin/make_redirects.py b/bin/make_redirects.py index d826bcd..9175f64 100755 --- a/bin/make_redirects.py +++ b/bin/make_redirects.py @@ -43,16 +43,28 @@ def readme_redirects(rs): lines.append("</dl>\n") return "".join(lines) +def proposal_redirects(proposals_dir): + lines = [] + for fname in os.listdir(proposals_dir): + m = re.match(r'^(\d+)-.*\.(?:md|txt)$', fname) + if m: + source = m.group(1) + target = fname + lines.append(f'"/{source}" = "./{target}"\n') + lines.sort() + return "".join(lines) + if __name__ == '__main__': toplevel = os.path.join(os.path.dirname(sys.argv[0]), "..") - book_fname = os.path.join(toplevel, "mdbook", "spec", "book.toml") + spec_book_fname = os.path.join(toplevel, "mdbook", "spec", "book.toml") spec_dir = os.path.join(toplevel, "spec") readme_fname = os.path.join(toplevel, "spec", "README.md") + prop_dir = os.path.join(toplevel, "proposals") + prop_book_fname = os.path.join(toplevel, "mdbook", "proposals", "book.toml") yaml_fname = os.path.join(toplevel, "mdbook", "spec", "spec-redirects.yaml") rs = yaml.load(open(yaml_fname), yaml.Loader)['redirects'] - update_file(book_fname, BOOK_START, BOOK_END, book_redirects(rs, spec_dir)) + update_file(spec_book_fname, BOOK_START, BOOK_END, book_redirects(rs, spec_dir)) update_file(readme_fname, README_START, README_END, readme_redirects(rs)) - - + update_file(prop_book_fname, BOOK_START, BOOK_END, proposal_redirects(prop_dir)) |