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 sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
from pprint import pprint
|
||||||
|
|
||||||
from . import api
|
from . import api
|
||||||
from . import hls
|
from . import hls
|
||||||
from . import muxing
|
from . import muxing
|
||||||
from . import naming
|
from . import naming
|
||||||
from . import www
|
from . import www
|
||||||
|
from .cli_parser import create_parser, get_args_as_list
|
||||||
|
|
||||||
|
|
||||||
def fail(message, code=1):
|
def fail(message, code=1):
|
||||||
|
@ -68,7 +71,9 @@ def create_progress():
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""CLI command."""
|
"""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":
|
if not args or args[0] == "-h" or args[0] == "--help":
|
||||||
print(__doc__)
|
print(__doc__)
|
||||||
return 0
|
return 0
|
||||||
|
|
42
src/delarte/cli_parser.py
Normal file
42
src/delarte/cli_parser.py
Normal file
|
@ -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
Block a user