|
2 | 2 |
|
3 | 3 | import argparse |
4 | 4 | import os |
| 5 | +import typing |
5 | 6 |
|
6 | 7 |
|
7 | | -def read_text(filename): |
8 | | - with open(filename, 'rt') as rf: |
| 8 | +def read_text(filename: str) -> str: |
| 9 | + with open(filename, "rt") as rf: |
9 | 10 | text = rf.read() |
10 | | - return text.decode('utf-8') |
| 11 | + return text |
11 | 12 |
|
12 | 13 |
|
13 | | -def save_text(fobj, text): |
14 | | - fobj.write(text.replace('\r', '')) |
| 14 | +def save_text(writable_f: typing.TextIO, text: str) -> None: |
| 15 | + writable_f.write(text.replace("\r", "")) |
15 | 16 |
|
16 | 17 |
|
17 | | -def format_text(text, **kwargs): |
| 18 | +def format_text(text: str, **kwargs) -> str: |
18 | 19 | for k, v in kwargs.items(): |
19 | | - to_replace = '%{0}%'.format(k) |
| 20 | + to_replace = "%{0}%".format(k) |
20 | 21 | text = text.replace(to_replace, v) |
21 | 22 | return text |
22 | 23 |
|
23 | 24 |
|
24 | | -def main(template, destination): |
25 | | - generate_qr_example = read_text(os.path.join("examples", "GenerateQR", "Program.cs")) |
| 25 | +def main(template: typing.TextIO, destination: typing.TextIO) -> None: |
| 26 | + generate_qr_example = read_text( |
| 27 | + os.path.join("examples", "GenerateQR", "Program.cs") |
| 28 | + ) |
26 | 29 | read_qr_example = read_text(os.path.join("examples", "ReadQR", "Program.cs")) |
27 | 30 |
|
28 | 31 | text = template.read() |
29 | | - formatted = format_text(text, GenerateQRExample=generate_qr_example, ReadQRExample=read_qr_example) |
| 32 | + formatted = format_text( |
| 33 | + text, GenerateQRExample=generate_qr_example, ReadQRExample=read_qr_example |
| 34 | + ) |
30 | 35 | save_text(destination, formatted) |
31 | 36 |
|
32 | 37 |
|
33 | | -def parse_args(): |
| 38 | +def parse_args() -> typing.Dict[str, typing.Any]: |
34 | 39 | parser = argparse.ArgumentParser() |
35 | | - parser.add_argument('template', type=argparse.FileType('rt')) |
36 | | - parser.add_argument('destination', type=argparse.FileType('wt')) |
| 40 | + parser.add_argument("template", type=argparse.FileType("rt")) |
| 41 | + parser.add_argument("destination", type=argparse.FileType("wt")) |
37 | 42 | kwargs = vars(parser.parse_args()) |
38 | 43 | return kwargs |
39 | 44 |
|
40 | 45 |
|
41 | | -if __name__ == '__main__': |
| 46 | +if __name__ == "__main__": |
42 | 47 | main(**parse_args()) |
0 commit comments