• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ValeriyMenshikov / restcodegen / 18804694760

25 Oct 2025 03:02PM UTC coverage: 63.12%. First build
18804694760

Pull #7

github

web-flow
Merge d3c293d65 into 43edde1f5
Pull Request #7: Closes #5

22 of 58 new or added lines in 9 files covered. (37.93%)

433 of 686 relevant lines covered (63.12%)

1.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/restcodegen/cli/main.py
1
import click
×
2

3
from restcodegen.generator.parser import Parser
×
4
from restcodegen.generator.rest_codegen import RESTClientGenerator
×
5
from restcodegen.generator.utils import format_file
×
6

7

8
@click.group()
×
9
def cli() -> None: ...
×
10

11

12
@click.command("generate")
×
13
@click.option(
×
14
    "--url",
15
    "-u",
16
    required=True,
17
    type=str,
18
    help="OpenAPI spec URL",
19
)
20
@click.option(
×
21
    "--service-name",
22
    "-s",
23
    required=True,
24
    type=str,
25
    help="service name",
26
)
27
@click.option(
×
28
    "--async-mode",
29
    "-a",
30
    required=False,
31
    type=bool,
32
    help="Async mode",
33
    default=False,
34
)
35
@click.option(
×
36
    "--api-tags",
37
    "-t",
38
    required=False,
39
    type=str,
40
    help="Api tags for generate clients only for selected tags (comma-separated)",
41
    default=None,
42
)
NEW
43
@click.option(
×
44
    "--templates-dir",
45
    "-td",
46
    required=False,
47
    type=click.Path(exists=True, dir_okay=True, file_okay=False),
48
    help="Path to custom API client template",
49
    default=None,
50
)
NEW
51
@click.option(
×
52
    "--output-dir",
53
    "-o",
54
    required=False,
55
    type=click.Path(file_okay=False),
56
    help="Output directory for generated clients (default: ./clients/http)",
57
    default=None,
58
)
59
def generate_command(
×
60
    url: str,
61
    service_name: str,
62
    async_mode: bool,
63
    api_tags: str | None,
64
    templates_dir: str | None,
65
    output_dir: str | None,
66
) -> None:
67
    parser = Parser(
×
68
        openapi_spec=url,
69
        service_name=service_name,
70
        selected_tags=api_tags.split(",") if api_tags else None,
71
    )
NEW
72
    gen = RESTClientGenerator(
×
73
        openapi_spec=parser,
74
        async_mode=async_mode,
75
        templates_dir=templates_dir,
76
        base_path=output_dir,
77
    )
78
    gen.generate()
×
NEW
79
    format_file(output_dir)
×
80

81

82
cli.add_command(generate_command)
×
83

84
if __name__ == "__main__":
×
85
    cli()
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc