|
| 1 | +"""Implements Shindan CLI as a main script.""" |
| 2 | + |
| 3 | +from __future__ import annotations |
| 4 | + |
1 | 5 | import argparse |
2 | 6 |
|
3 | 7 | from . import __version__, shindan |
4 | 8 |
|
5 | 9 |
|
6 | | -def check_natural(v: str) -> int: |
| 10 | +def _check_natural(v: str) -> int: |
7 | 11 | if int(v) < 0: |
8 | 12 | raise argparse.ArgumentTypeError("%s is an invalid natural int" % v) |
9 | | - else: |
10 | | - return int(v) |
| 13 | + return int(v) |
11 | 14 |
|
12 | 15 |
|
13 | | -def parse_args() -> argparse.Namespace: |
14 | | - """Parse arguments.""" |
| 16 | +def _parse_args() -> argparse.Namespace: |
15 | 17 | parser = argparse.ArgumentParser( |
16 | 18 | prog="shindan", |
17 | 19 | formatter_class=argparse.RawDescriptionHelpFormatter, |
18 | 20 | description="ShindanMaker (https://shindanmaker.com) CLI", |
19 | 21 | ) |
20 | | - parser.add_argument( |
21 | | - "page_id", metavar="ID", type=check_natural, help="shindan page id" |
22 | | - ) |
| 22 | + parser.add_argument("page_id", metavar="ID", type=_check_natural, help="shindan page id") |
23 | 23 | parser.add_argument("shindan_name", metavar="NAME", type=str, help="shindan name") |
24 | 24 | parser.add_argument("-w", "--wait", action="store_true", help="insert random wait") |
25 | | - parser.add_argument( |
26 | | - "-H", "--hashtag", action="store_true", help="add hashtag `#shindanmaker`" |
27 | | - ) |
28 | | - parser.add_argument( |
29 | | - "-l", "--link", action="store_true", help="add link to last of output" |
30 | | - ) |
31 | | - parser.add_argument( |
32 | | - "-V", "--version", action="version", version="%(prog)s {}".format(__version__) |
33 | | - ) |
| 25 | + parser.add_argument("-H", "--hashtag", action="store_true", help="add hashtag `#shindanmaker`") |
| 26 | + parser.add_argument("-l", "--link", action="store_true", help="add link to last of output") |
| 27 | + parser.add_argument("-V", "--version", action="version", version=f"%(prog)s {__version__}") |
34 | 28 | return parser.parse_args() |
35 | 29 |
|
36 | 30 |
|
37 | 31 | def main() -> None: |
38 | | - args = parse_args() |
| 32 | + """Run CLI.""" |
| 33 | + args = _parse_args() |
39 | 34 | result = shindan(args.page_id, args.shindan_name, wait=args.wait) |
40 | | - print("\n".join(result["results"])) |
| 35 | + print("\n".join(result["results"])) # noqa: T201 |
41 | 36 | if args.hashtag: |
42 | | - print(" ".join(result["hashtags"])) |
| 37 | + print(" ".join(result["hashtags"])) # noqa: T201 |
43 | 38 | if args.link: |
44 | | - print(result["shindan_url"]) |
| 39 | + print(result["shindan_url"]) # noqa: T201 |
45 | 40 |
|
46 | 41 |
|
47 | 42 | if __name__ == "__main__": |
|
0 commit comments