3434from queryHandler import SensorConfig
3535from __version__ import __version__
3636from messages import ERR , MSG
37- from confParser import parse_cmd_args , findCertFile , findKeyFile
37+ from confParser import getSettings
3838from collections import defaultdict
3939from timeit import default_timer as timer
4040
@@ -534,11 +534,11 @@ def processFormJSON(entity):
534534 cherrypy .serving .request .json = json .loads ('{}' )
535535
536536
537- def configureLogging (logfile , loglevel ):
537+ def configureLogging (logPath , logfile , loglevel ):
538538 # create the logfile path if needed
539- path , folder = os .path .split ( logfile )
540- if not os .path . exists ( path ):
541- os .makedirs ( path )
539+ if not os .path .exists ( logPath ):
540+ os .makedirs ( logPath )
541+ logfile = os .path . join ( logPath , logfile )
542542
543543 # prepare the logger
544544 logger = logging .getLogger ('zimonGrafanaIntf' )
@@ -556,32 +556,32 @@ def configureLogging(logfile, loglevel):
556556
557557def validateCollectorConf (args , logger ):
558558
559- if not (args .server == 'localhost' ) and not (args .server == '127.0.0.1' ):
559+ if not (args .get ( ' server' ) == 'localhost' ) and not (args .get ( ' server' ) == '127.0.0.1' ):
560560 try :
561561 s = socket .socket ()
562- s .connect ((args .server , args .serverPort ))
562+ s .connect ((args .get ( ' server' ) , args .get ( ' serverPort' ) ))
563563 print (MSG ['CollectorConnInfo' ])
564564 finally :
565565 s .close ()
566566 else :
567567 # get queryport
568568 foundPorts = SensorConfig .getCollectorPorts (logger )
569- if foundPorts and str (args .serverPort ) not in foundPorts :
569+ if foundPorts and str (args .get ( ' serverPort' ) ) not in foundPorts :
570570 raise Exception ("Invalid serverPort specified. Try with: %s" % str (foundPorts ))
571- elif foundPorts [1 ] and not (args .serverPort == int (foundPorts [1 ])):
572- args . serverPort = int (foundPorts [1 ])
573- logger .info (MSG ['Query2port' ].format (args . serverPort ))
571+ elif foundPorts [1 ] and not (args .get ( ' serverPort' ) == int (foundPorts [1 ])):
572+ args [ ' serverPort' ] = int (foundPorts [1 ])
573+ logger .info (MSG ['Query2port' ].format (args [ ' serverPort' ] ))
574574
575575
576576def updateCherrypyConf (args ):
577577
578- path , folder = os . path . split ( args .logFile )
578+ path = args .get ( 'logPath' )
579579 if not os .path .exists (path ):
580580 os .makedirs (path )
581581 accesslog = os .path .join (path , 'cherrypy_access.log' )
582582 errorlog = os .path .join (path , 'cherrypy_error.log' )
583583
584- globalConfig = {'global' : {'server.socket_port' : args .port ,
584+ globalConfig = {'global' : {'server.socket_port' : args .get ( ' port' ) ,
585585 'log.access_file' : accesslog ,
586586 'log.error_file' : errorlog }}
587587
@@ -593,8 +593,8 @@ def updateCherrypyConf(args):
593593
594594
595595def updateCherrypySslConf (args ):
596- certPath = os .path .join (args .tlsKeyPath , findCertFile ( args .tlsKeyPath ))
597- keyPath = os .path .join (args .tlsKeyPath , findKeyFile ( args .tlsKeyPath ))
596+ certPath = os .path .join (args .get ( ' tlsKeyPath' ), args .get ( 'tlsCertFile' ))
597+ keyPath = os .path .join (args .get ( ' tlsKeyPath' ), args .get ( 'tlsKeyFile' ))
598598 sslConfig = {'global' : {'server.ssl_module' : 'builtin' ,
599599 'server.ssl_certificate' : certPath ,
600600 'server.ssl_private_key' : keyPath }}
@@ -604,25 +604,26 @@ def updateCherrypySslConf(args):
604604def main (argv ):
605605
606606 # parse input arguments
607- args , msg = parse_cmd_args (argv )
607+ args , msg = getSettings (argv )
608608 if not args :
609609 print (msg )
610+ return
610611
611612 # prepare the logger
612- logger = configureLogging (args .logFile , args .logLevel )
613- logger .info ('zimonGrafanaItf invoked with parameters:%s' , str (args ))
613+ logger = configureLogging (args .get ('logPath' ), args .get ('logFile' ), args .get ('logLevel' ))
614614
615615 # prepare cherrypy server configuration
616616 updateCherrypyConf (args )
617- if args .port == 8443 :
617+ if args .get ( ' port' ) == 8443 :
618618 updateCherrypySslConf (args )
619619
620620 # prepare metadata
621621 try :
622622 print ("\n " + MSG ['BridgeVersionInfo' ].format (__version__ ))
623623 logger .info ("%s" , MSG ['BridgeVersionInfo' ].format (__version__ ))
624+ logger .info ('zimonGrafanaItf invoked with parameters:\n %s' , "\n " .join ("{}={}" .format (k , v ) for k , v in args .items ()))
624625 validateCollectorConf (args , logger )
625- mdHandler = MetadataHandler (logger , args .server , args .serverPort )
626+ mdHandler = MetadataHandler (logger , args .get ( ' server' ) , args .get ( ' serverPort' ) )
626627 print (MSG ['MetaSuccess' ])
627628 print (MSG ['ReceivAttrValues' ].format ('sensors' , "\n \n " + "\t " .join (mdHandler .metaData .sensorsSpec .keys ())))
628629 except (AttributeError , ValueError , TypeError ) as e :
0 commit comments