diff --git a/main.py b/main.py index 1433eff..0aeedec 100644 --- a/main.py +++ b/main.py @@ -45,6 +45,21 @@ Examples: """, ) + def add_common_arguments(subparser: argparse.ArgumentParser): + subparser.add_argument( + "--port", + "-p", + default=DEFAULT_PORT, + help=f"Serial port (default: {DEFAULT_PORT})", + ) + subparser.add_argument( + "--baudrate", + "-b", + type=int, + default=DEFAULT_BAUDRATE, + help=f"Baud rate (default: {DEFAULT_BAUDRATE})", + ) + # Add subparsers for each simulator type subparsers = parser.add_subparsers( dest="simulator", help="Simulator type to run", required=True @@ -54,73 +69,25 @@ Examples: pelican_parser = subparsers.add_parser( "pelican", help="Run Pelican coin counter simulator" ) - pelican_parser.add_argument( - "--port", - "-p", - default=DEFAULT_PORT, - help=f"Serial port (default: {DEFAULT_PORT})", - ) - pelican_parser.add_argument( - "--baudrate", - "-b", - type=int, - default=DEFAULT_BAUDRATE, - help=f"Baud rate (default: {DEFAULT_BAUDRATE})", - ) + add_common_arguments(pelican_parser) # Glory simulator subcommand glory_parser = subparsers.add_parser( "glory", help="Run Glory MACH6 coin counter simulator" ) - glory_parser.add_argument( - "--port", - "-p", - default=DEFAULT_PORT, - help=f"Serial port (default: {DEFAULT_PORT})", - ) - glory_parser.add_argument( - "--baudrate", - "-b", - type=int, - default=DEFAULT_BAUDRATE, - help=f"Baud rate (default: {DEFAULT_BAUDRATE})", - ) + add_common_arguments(glory_parser) # Selex simulator subcommand selex_parser = subparsers.add_parser( "selex", help="Run Selex coin counter simulator" ) - selex_parser.add_argument( - "--port", - "-p", - default=DEFAULT_PORT, - help=f"Serial port (default: {DEFAULT_PORT})", - ) - selex_parser.add_argument( - "--baudrate", - "-b", - type=int, - default=DEFAULT_BAUDRATE, - help=f"Baud rate (default: {DEFAULT_BAUDRATE})", - ) + add_common_arguments(selex_parser) # JetSort simulator subcommand jetsort_parser = subparsers.add_parser( "jetsort", help="Run JetSort coin/bill counter simulator" ) - jetsort_parser.add_argument( - "--port", - "-p", - default=DEFAULT_PORT, - help=f"Serial port (default: {DEFAULT_PORT})", - ) - jetsort_parser.add_argument( - "--baudrate", - "-b", - type=int, - default=DEFAULT_BAUDRATE, - help=f"Baud rate (default: {DEFAULT_BAUDRATE})", - ) + add_common_arguments(jetsort_parser) args = parser.parse_args()