forked from fcode/delarte
🩹 use argparse library for parsing CLI arguments
This commit is contained in:
parent
6b8f2232c4
commit
2a2d0dbdbb
|
@ -12,11 +12,14 @@ usage: delarte [-h|--help] - print this message
|
|||
import sys
|
||||
import time
|
||||
|
||||
from pprint import pprint
|
||||
|
||||
from . import api
|
||||
from . import hls
|
||||
from . import muxing
|
||||
from . import naming
|
||||
from . import www
|
||||
from .cli_parser import create_parser, get_args_as_list
|
||||
|
||||
|
||||
def fail(message, code=1):
|
||||
|
@ -68,7 +71,9 @@ def create_progress():
|
|||
|
||||
def main():
|
||||
"""CLI command."""
|
||||
args = sys.argv[1:]
|
||||
parser = create_parser()
|
||||
args = get_args_as_list(parser)
|
||||
|
||||
if not args or args[0] == "-h" or args[0] == "--help":
|
||||
print(__doc__)
|
||||
return 0
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
import argparse
|
||||
|
||||
|
||||
def create_parser() -> argparse.ArgumentParser:
|
||||
"""return a parser for the script arguments
|
||||
|
||||
Returns:
|
||||
argparse.ArgumentParser: argument parser object dedicated to get arguments from CLI call
|
||||
"""
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"url",
|
||||
help="url of Arte movie's webpage",
|
||||
action="store",
|
||||
type=str,
|
||||
)
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--languages",
|
||||
help="one of the language code proposed by Arte",
|
||||
required=False,
|
||||
action="store",
|
||||
type=str,
|
||||
nargs="?",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-r",
|
||||
"--resolution",
|
||||
help="directory where the output files will be stored",
|
||||
required=False,
|
||||
action="store",
|
||||
type=str,
|
||||
nargs="?",
|
||||
)
|
||||
|
||||
return parser
|
||||
|
||||
|
||||
def get_args_as_list(parser):
|
||||
parser.parse_args()
|
||||
args_namespace = parser.parse_args()
|
||||
return [args_namespace.url, args_namespace.languages, args_namespace.resolution]
|
Loading…
Reference in New Issue