File: fix_rst.py

package info (click to toggle)
ecflow 5.15.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,868 kB
  • sloc: cpp: 269,341; python: 22,756; sh: 3,609; perl: 770; xml: 333; f90: 204; ansic: 141; makefile: 70
file content (30 lines) | stat: -rwxr-xr-x 774 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env python3

import glob
import os
import re

import yaml


def fix_glossary():
    with open("glossary.yaml", "r") as f:
        glossary_items = yaml.load(f, Loader=yaml.FullLoader)

    for fname in glob.glob("rst/*.rst"):
        if os.path.basename(fname)[0].isupper():
            t = ""
            with open(fname, "r") as f:
                t = f.read()
                if t:
                    for item in glossary_items:
                        t = re.sub(rf"`{item}`_", rf":term:`{item}`", t)
                    for item in ['cron definition<text_based_def_cron>']:
                        t = re.sub(rf"`{item}`_", rf":ref:`{item}`", t)

            if t:
                with open(fname, "w") as f:
                    f.write(t)


fix_glossary()