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

unipoll / api / 6439394637

07 Oct 2023 05:54AM UTC coverage: 78.774%. First build
6439394637

Pull #71

github

web-flow
Merge ee2756e11 into 41349d1a0
Pull Request #71: Pydantic 2, better cli, docker-compose

169 of 169 new or added lines in 20 files covered. (100.0%)

1889 of 2398 relevant lines covered (78.77%)

0.79 hits per line

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

27.27
/src/unipoll_api/utils/cli_args.py
1
import argparse
1✔
2
import textwrap
1✔
3
from unipoll_api.config import get_settings
1✔
4

5
settings = get_settings()
1✔
6

7

8
# Check if IP address is valid
9
def check_ip(arg_value):
1✔
10
    address = arg_value.split(".")
×
11
    if len(address) != 4:
×
12
        raise argparse.ArgumentTypeError("invalid host value")
×
13
    for i in address:
×
14
        if int(i) > 255 or int(i) < 0:
×
15
            raise argparse.ArgumentTypeError("invalid host value")
×
16
    return arg_value
×
17

18

19
# Parse CLI arguments
20
def parse_args():
1✔
21
    parser = argparse.ArgumentParser(description="University Polling API")
×
22
    subparser = parser.add_subparsers(title='Available commands', dest='command', required=True)
×
23

24
    run_parser = subparser.add_parser('run',
×
25
                                      help="Run the API server",
26
                                      formatter_class=argparse.RawDescriptionHelpFormatter,
27
                                      description=textwrap.dedent('''\
28
        Run University Polling API
29
        --------------------------------
30
        Examples:
31

32
            python main.py --reload --host=127.0.0.1 --port=8000
33
            python main.py --reload
34
        '''))
35

36
    run_parser.add_argument("--reload", action="store_true", help="Enable auto-reload", default=False)
×
37
    run_parser.add_argument("--host", type=check_ip, default=settings.host, help="Host IP address")
×
38
    run_parser.add_argument("--port", type=int, default=settings.port, help="Host port number")
×
39

40
    subparser.add_parser('setup', help="Setup the API server")
×
41
    subparser.add_parser('get-openapi', help="Get the OpenAPI schema")
×
42

43
    return parser.parse_args()
×
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