#! scripts/venv/bin/python
"""This scripts contains some cosmetic operations that should be done to each
post before publishing to the gemlog."""
import textwrap
from pathlib import Path
from typing import Callable
def add_footer(text: str) -> str:
footer = textwrap.dedent(
"""\
\u2343
=> .. BACK
"""
)
return text + footer
def em_dash(text: str) -> str:
return text.replace("--", "\u2014")
def double_space(text: str) -> str:
return text.replace(" ", " ")
def apply(text: str, *functions: Callable) -> str:
for fun in functions:
text = fun(text)
return text
def main(file_path: Path):
text = file_path.read_text()
updated = apply(text, em_dash, double_space, add_footer)
file_path.write_text(updated)
if __name__ == "__main__":
import sys
if len(sys.argv) > 1:
main(Path(sys.argv[-1]))
else:
exit("Provide a path to file")
Response:
20 (Success), text/x-python