add cli for trainer
This commit is contained in:
58
BasaltTrainer/cli.py
Normal file
58
BasaltTrainer/cli.py
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
import argparse
|
||||||
|
from dataclasses import dataclass
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Opts:
|
||||||
|
presenter_path: Path
|
||||||
|
headless: bool
|
||||||
|
width: int
|
||||||
|
height: int
|
||||||
|
pr_engine_name: str
|
||||||
|
pr_engine_device: int
|
||||||
|
pr_deliver_name: str
|
||||||
|
pr_deliver_device: int
|
||||||
|
pr_object_loader_name: str
|
||||||
|
pr_object_loader_file: str
|
||||||
|
pr_anime_loader_name: str
|
||||||
|
pr_anime_loader_file: str
|
||||||
|
tr_deliver_name: str
|
||||||
|
tr_deliver_device: int
|
||||||
|
tr_load_name: str
|
||||||
|
|
||||||
|
def parse() -> Opts:
|
||||||
|
parser = argparse.ArgumentParser("BasaltTrainer")
|
||||||
|
parser.add_argument('--presenter-path', type=Path, required=True, help='Path to Presenter executable')
|
||||||
|
parser.add_argument('--headless', action='store_true', help='Run Presenter in headless mode')
|
||||||
|
parser.add_argument('--width', type=int, required=True, default=600, help='Presenter window width')
|
||||||
|
parser.add_argument('--height', type=int, required=True, default=600, help='Presenter window height')
|
||||||
|
parser.add_argument('--pr-engine-name', type=str, required=True, help='Presenter render engine name')
|
||||||
|
parser.add_argument('--pr-engine-device', type=int, required=True, help='Presenter render engine device ID')
|
||||||
|
parser.add_argument('--pr-deliver-name', type=str, required=True, help='Presenter data deliver name')
|
||||||
|
parser.add_argument('--pr-deliver-device', type=int, required=True, help='Presenter data deliver device ID')
|
||||||
|
parser.add_argument('--pr-object-loader-name', type=str, required=True, help='Presenter object loader name')
|
||||||
|
parser.add_argument('--pr-object-loader-file', type=str, required=True, help='Presenter object loader file path')
|
||||||
|
parser.add_argument('--pr-anime-loader-name', type=str, required=True, help='Presenter anime loader name')
|
||||||
|
parser.add_argument('--pr-anime-loader-file', type=str, required=True, help='Presenter anime file path')
|
||||||
|
parser.add_argument('--tr-deliver-name', type=str, required=True, help='Trainer data deliver name')
|
||||||
|
parser.add_argument('--tr-deliver-device', type=int, required=True, help='Trainer data deliver device ID')
|
||||||
|
parser.add_argument('--tr-load-name', type=str, required=True, help='Trainer load name')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
return Opts(
|
||||||
|
presenter_path=args.presenter_path,
|
||||||
|
headless=args.headless,
|
||||||
|
width=args.width,
|
||||||
|
height=args.height,
|
||||||
|
pr_engine_name=args.pr_engine_name,
|
||||||
|
pr_engine_device=args.pr_engine_device,
|
||||||
|
pr_deliver_name=args.pr_deliver_name,
|
||||||
|
pr_deliver_device=args.pr_deliver_device,
|
||||||
|
pr_object_loader_name=args.pr_object_loader_name,
|
||||||
|
pr_object_loader_file=args.pr_object_loader_file,
|
||||||
|
pr_anime_loader_name=args.pr_anime_loader_name,
|
||||||
|
pr_anime_loader_file=args.pr_anime_loader_file,
|
||||||
|
tr_deliver_name=args.tr_deliver_name,
|
||||||
|
tr_deliver_device=args.tr_deliver_device,
|
||||||
|
tr_load_name=args.tr_load_name
|
||||||
|
)
|
||||||
@@ -1,15 +1,17 @@
|
|||||||
from cmd_server import CmdServer, HandshakePayload, PixelKind
|
from cmd_server import CmdServer, HandshakePayload, PixelKind
|
||||||
from while_stopper import INSTANCE as STOPPER
|
from while_stopper import INSTANCE as STOPPER
|
||||||
|
import cli
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
|
||||||
def receive_data() -> None:
|
def receive_data() -> None:
|
||||||
logging.info("Data received")
|
logging.info("Data received")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
server = CmdServer()
|
# parse argument
|
||||||
|
opts = cli.parse()
|
||||||
|
|
||||||
|
server = CmdServer()
|
||||||
print("Please launch BasaltPresenter now.")
|
print("Please launch BasaltPresenter now.")
|
||||||
print("Then press Enter to continue...")
|
print("Then press Enter to continue...")
|
||||||
input()
|
input()
|
||||||
|
|||||||
Reference in New Issue
Block a user