@@ -60,6 +60,14 @@ def _env_int(name, default):
6060CT = _env_str ("CT" , CT )
6161CM = _env_str ("CM" , CM )
6262
63+ def parse_cli_args (arguments ):
64+ overrides = {}
65+ for argument in arguments :
66+ key , separator , value = argument .partition ('=' )
67+ if separator and key in {'SERVER' , 'PORT' , 'USER' , 'PASSWORD' , 'INTERVAL' }:
68+ overrides [key ] = value
69+ return overrides
70+
6371def get_uptime ():
6472 with open ('/proc/uptime' , 'r' ) as f :
6573 uptime = f .readline ().split ('.' , 2 )
@@ -509,17 +517,12 @@ def byte_str(object):
509517 print (type (object ))
510518
511519if __name__ == '__main__' :
512- for argc in sys .argv :
513- if 'SERVER' in argc :
514- SERVER = argc .split ('SERVER=' )[- 1 ]
515- elif 'PORT' in argc :
516- PORT = int (argc .split ('PORT=' )[- 1 ])
517- elif 'USER' in argc :
518- USER = argc .split ('USER=' )[- 1 ]
519- elif 'PASSWORD' in argc :
520- PASSWORD = argc .split ('PASSWORD=' )[- 1 ]
521- elif 'INTERVAL' in argc :
522- INTERVAL = int (argc .split ('INTERVAL=' )[- 1 ])
520+ cli_args = parse_cli_args (sys .argv [1 :])
521+ SERVER = cli_args .get ('SERVER' , SERVER )
522+ PORT = int (cli_args .get ('PORT' , PORT ))
523+ USER = cli_args .get ('USER' , USER )
524+ PASSWORD = cli_args .get ('PASSWORD' , PASSWORD )
525+ INTERVAL = int (cli_args .get ('INTERVAL' , INTERVAL ))
523526 socket .setdefaulttimeout (30 )
524527 get_realtime_data ()
525528 while True :
0 commit comments