34
34
from queryHandler import SensorConfig
35
35
from __version__ import __version__
36
36
from messages import ERR , MSG
37
- from confParser import parse_cmd_args , findCertFile , findKeyFile
37
+ from confParser import getSettings
38
38
from collections import defaultdict
39
39
from timeit import default_timer as timer
40
40
@@ -534,11 +534,11 @@ def processFormJSON(entity):
534
534
cherrypy .serving .request .json = json .loads ('{}' )
535
535
536
536
537
- def configureLogging (logfile , loglevel ):
537
+ def configureLogging (logPath , logfile , loglevel ):
538
538
# 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 )
542
542
543
543
# prepare the logger
544
544
logger = logging .getLogger ('zimonGrafanaIntf' )
@@ -556,32 +556,32 @@ def configureLogging(logfile, loglevel):
556
556
557
557
def validateCollectorConf (args , logger ):
558
558
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' ):
560
560
try :
561
561
s = socket .socket ()
562
- s .connect ((args .server , args .serverPort ))
562
+ s .connect ((args .get ( ' server' ) , args .get ( ' serverPort' ) ))
563
563
print (MSG ['CollectorConnInfo' ])
564
564
finally :
565
565
s .close ()
566
566
else :
567
567
# get queryport
568
568
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 :
570
570
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' ] ))
574
574
575
575
576
576
def updateCherrypyConf (args ):
577
577
578
- path , folder = os . path . split ( args .logFile )
578
+ path = args .get ( 'logPath' )
579
579
if not os .path .exists (path ):
580
580
os .makedirs (path )
581
581
accesslog = os .path .join (path , 'cherrypy_access.log' )
582
582
errorlog = os .path .join (path , 'cherrypy_error.log' )
583
583
584
- globalConfig = {'global' : {'server.socket_port' : args .port ,
584
+ globalConfig = {'global' : {'server.socket_port' : args .get ( ' port' ) ,
585
585
'log.access_file' : accesslog ,
586
586
'log.error_file' : errorlog }}
587
587
@@ -593,8 +593,8 @@ def updateCherrypyConf(args):
593
593
594
594
595
595
def 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' ))
598
598
sslConfig = {'global' : {'server.ssl_module' : 'builtin' ,
599
599
'server.ssl_certificate' : certPath ,
600
600
'server.ssl_private_key' : keyPath }}
@@ -604,25 +604,26 @@ def updateCherrypySslConf(args):
604
604
def main (argv ):
605
605
606
606
# parse input arguments
607
- args , msg = parse_cmd_args (argv )
607
+ args , msg = getSettings (argv )
608
608
if not args :
609
609
print (msg )
610
+ return
610
611
611
612
# 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' ))
614
614
615
615
# prepare cherrypy server configuration
616
616
updateCherrypyConf (args )
617
- if args .port == 8443 :
617
+ if args .get ( ' port' ) == 8443 :
618
618
updateCherrypySslConf (args )
619
619
620
620
# prepare metadata
621
621
try :
622
622
print ("\n " + MSG ['BridgeVersionInfo' ].format (__version__ ))
623
623
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 ()))
624
625
validateCollectorConf (args , logger )
625
- mdHandler = MetadataHandler (logger , args .server , args .serverPort )
626
+ mdHandler = MetadataHandler (logger , args .get ( ' server' ) , args .get ( ' serverPort' ) )
626
627
print (MSG ['MetaSuccess' ])
627
628
print (MSG ['ReceivAttrValues' ].format ('sensors' , "\n \n " + "\t " .join (mdHandler .metaData .sensorsSpec .keys ())))
628
629
except (AttributeError , ValueError , TypeError ) as e :
0 commit comments