~reviewer/hello-hut

ref: adec95915d97ce8956f8a575b501715abf0d656a hello-hut/src/hello_hut/cli.py -rw-r--r-- 1.0 KiB
adec9591 — Priya Raman Add --time-of-day greetings 7 months ago
                                                                                
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
27
28
29
30
31
32
33
"""Command-line interface for hello-hut."""

import argparse
import sys

from . import __version__
from .greetings import DEFAULT_NAME, greet, time_of_day_greeting


def build_parser():
    parser = argparse.ArgumentParser(
        prog="hello-hut",
        description="A friendly greeting tool for your terminal.",
    )
    parser.add_argument("name", nargs="?", help="who to greet")
    parser.add_argument("--shout", action="store_true",
                        help="print the greeting in capitals")
    parser.add_argument("--time-of-day", action="store_true",
                        help="say good morning, afternoon or evening")
    parser.add_argument("--version", action="version",
                        version=f"%(prog)s {__version__}")
    return parser


def main(argv=None):
    args = build_parser().parse_args(argv)
    name = args.name or DEFAULT_NAME
    shout = args.shout

    salutation = time_of_day_greeting() if args.time_of_day else None
    message = greet(name, shout=shout, salutation=salutation)
    print(message)
    return 0