2121
2222# pylint: disable=invalid-name
2323
24- from argparse import ArgumentDefaultsHelpFormatter , ArgumentParser
24+ from argparse import ArgumentDefaultsHelpFormatter , ArgumentError , ArgumentParser
2525from datetime import datetime , timedelta
2626from logging import getLogger
2727from math import ceil
4040from serial import Serial
4141
4242from pyubxutils ._version import __version__ as VERSION
43+ from pyubxutils .exceptions import ParameterError
4344from pyubxutils .globals import EPILOG , VERBOSITY_HIGH
4445from pyubxutils .helpers import progbar , set_common_args
4546
@@ -218,8 +219,8 @@ def main():
218219
219220 ap = ArgumentParser (epilog = EPILOG , formatter_class = ArgumentDefaultsHelpFormatter )
220221 ap .add_argument ("-V" , "--version" , action = "version" , version = "%(prog)s " + VERSION )
221- ap .add_argument ("-I" , "--infile" , required = True , help = "Input file" )
222- ap .add_argument ("-P" , "--port" , required = True , help = "Serial port" )
222+ ap .add_argument ("-I" , "--infile" , required = False , help = "Input file" )
223+ ap .add_argument ("-P" , "--port" , required = False , help = "Serial port" )
223224 ap .add_argument (
224225 "--baudrate" ,
225226 required = False ,
@@ -245,6 +246,11 @@ def main():
245246
246247 kwargs = set_common_args ("ubxload" , ap , logdefault = VERBOSITY_HIGH )
247248
249+ if kwargs .get ("port" , None ) is None :
250+ raise ParameterError ("Serial port must be specified" )
251+ if kwargs .get ("infile" , None ) is None :
252+ raise ParameterError ("Input file must be specified" )
253+
248254 with Serial (
249255 kwargs .pop ("port" ), kwargs .pop ("baudrate" ), timeout = kwargs .pop ("timeout" )
250256 ) as serial_stream :
0 commit comments