forked from MDL29/JacoBot
Add command & subcommand for JacoVirt via argparse
* Command `jacovirt` * Sub command `jacovirt pad` * Sub command `jacovirt bot` close #20
This commit is contained in:
parent
ed319f0a2e
commit
e31eec876a
56
jacovirt/jacovirt/args.py
Normal file
56
jacovirt/jacovirt/args.py
Normal file
|
@ -0,0 +1,56 @@
|
|||
import argparse
|
||||
import logging
|
||||
|
||||
import jacovirt.logger
|
||||
|
||||
log_level = {
|
||||
"CRITICAL": logging.CRITICAL,
|
||||
"ERROR": logging.ERROR,
|
||||
"WARN": logging.WARNING,
|
||||
"INFO": logging.INFO,
|
||||
"DEBUG": logging.DEBUG,
|
||||
}
|
||||
|
||||
def main():
|
||||
|
||||
# General parser
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
|
||||
# Subparser
|
||||
sub = parser.add_subparsers(dest="sub")
|
||||
|
||||
parser.add_argument(
|
||||
"-l",
|
||||
"--log",
|
||||
choices=log_level.keys(),
|
||||
default="WARN",
|
||||
help=("Set level log"),
|
||||
dest="log",
|
||||
)
|
||||
|
||||
|
||||
# Parser for JacoVirt Pad
|
||||
pad = sub.add_parser("pad", help="Run JacoVirt Pad")
|
||||
|
||||
# Parser for JacoVirt Bot
|
||||
bot = sub.add_parser("bot", help="Run JacoVirt Bot")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.sub is None:
|
||||
parser.print_help()
|
||||
exit(1)
|
||||
|
||||
logging.getLogger().setLevel(args.log)
|
||||
|
||||
match args.sub:
|
||||
case "pad":
|
||||
logging.info("Lunch JacoVirt Pad")
|
||||
from jacovirt.pad import window
|
||||
window.main()
|
||||
case "bot":
|
||||
logging.info("Lunch JacoVirt Bot")
|
||||
from jacovirt.bot import window
|
||||
window.main()
|
||||
case _:
|
||||
SystemExit
|
|
@ -1,4 +1,4 @@
|
|||
import logging
|
||||
|
||||
# Logger config
|
||||
logging.basicConfig(format="%(asctime)s %(levelname)s %(message)s", datefmt='%m/%d/%Y %H:%M:%S', level=logging.INFO)
|
||||
logging.basicConfig(format="%(asctime)s %(levelname)s %(message)s", datefmt='%m/%d/%Y %H:%M:%S')
|
||||
|
|
|
@ -17,8 +17,7 @@ requires = ["poetry-core"]
|
|||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
[tool.poetry.scripts]
|
||||
jacovirt-bot = "jacovirt.bot.window:main"
|
||||
jacovirt-pad = "jacovirt.pad.window:main"
|
||||
jacovirt = "jacovirt.args:main"
|
||||
|
||||
[[tool.poetry.include]]
|
||||
path = "jacovirt/jacovirt/Img/*"
|
||||
|
|
Loading…
Reference in New Issue
Block a user