Skip to content

Commit

Permalink
Update table.py to write changes on README.md
Browse files Browse the repository at this point in the history
Write the up-to-date list of the supported languages directly on the
README.md file in order to avoid manual copy/paste actions.
  • Loading branch information
pabluk authored and alecthomas committed Nov 12, 2020
1 parent c788380 commit 473ed23
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion table.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
#!/usr/bin/env python3
import re
from collections import defaultdict
from subprocess import check_output

README_FILE = "README.md"


lines = check_output(["go", "run", "./cmd/chroma/main.go", "--list"]).decode("utf-8").splitlines()
lines = [line.strip() for line in lines if line.startswith(" ") and not line.startswith(" ")]
lines = sorted(lines, key=lambda l: l.lower())
Expand All @@ -11,5 +15,18 @@
for line in lines:
table[line[0].upper()].append(line)

rows = []
for key, value in table.items():
print("{} | {}".format(key, ", ".join(value)))
rows.append("{} | {}".format(key, ", ".join(value)))
tbody = "\n".join(rows)

with open(README_FILE, "r") as f:
content = f.read()

with open(README_FILE, "w") as f:
marker = re.compile(r"(?P<start>:----: \\| --------\n).*?(?P<end>\n\n)", re.DOTALL)
replacement = r"\g<start>%s\g<end>" % tbody
updated_content = marker.sub(replacement, content)
f.write(updated_content)

print(tbody)

0 comments on commit 473ed23

Please sign in to comment.