summaryrefslogtreecommitdiff
path: root/hack/graphql_to_header.py
blob: da0107d2fbd6eef243b2219309165b56683334e0 (plain) (blame)
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
import sys
from pathlib import Path

input_path = Path(sys.argv[1])
output_path = Path(sys.argv[2])
var_name = sys.argv[3]

with input_path.open() as f:
    lines = f.readlines()

with output_path.open("w") as f:
    f.write(
        f'''#ifndef QUERIES_{var_name.upper()}_H
#define QUERIES_{var_name.upper()}_H

'''
    )
    f.write(f'const char *{var_name} =\n')
    for line in lines:
        escaped = line.rstrip('\n').replace('\\', '\\\\').replace('"', '\\"')
        f.write(f'    "{escaped}\\n"\n')
    f.write(';\n')
    f.write(
        f'''
#endif // QUERIES_{var_name.upper()}_H
''')