|
34 | 34 | from queryHandler import SensorConfig
|
35 | 35 | from __version__ import __version__
|
36 | 36 | from messages import ERR, MSG
|
| 37 | +from metaclasses import Singleton |
37 | 38 | from bridgeLogger import configureLogging
|
38 | 39 | from confParser import getSettings
|
39 | 40 | from collections import defaultdict
|
40 | 41 | from timeit import default_timer as timer
|
41 | 42 | from time import sleep
|
42 | 43 |
|
43 | 44 |
|
44 |
| -class MetadataHandler(): |
| 45 | +class MetadataHandler(metaclass=Singleton): |
45 | 46 |
|
46 |
| - def __init__(self, logger, server, port, apiKeyName, apiKeyValue, caCertPath=False, includeDiskData=False, sleepTime=None): |
| 47 | + def __init__(self, **kwargs): |
47 | 48 | self.__qh = None
|
48 | 49 | self.__sensorsConf = None
|
49 | 50 | self.__metaData = None
|
50 |
| - self.logger = logger |
51 |
| - self.server = server |
52 |
| - self.port = port |
53 |
| - self.apiKeyName = apiKeyName |
54 |
| - self.apiKeyValue = apiKeyValue |
55 |
| - self.caCertPath = caCertPath |
56 |
| - self.includeDiskData = includeDiskData |
57 |
| - self.sleepTime = sleepTime or 60 |
| 51 | + self.logger = kwargs['logger'] |
| 52 | + self.server = kwargs['server'] |
| 53 | + self.port = kwargs['port'] |
| 54 | + self.apiKeyName = kwargs['apiKeyName'] |
| 55 | + self.apiKeyValue = kwargs['apiKeyValue'] |
| 56 | + self.caCertPath = kwargs.get('caCertPath', False) |
| 57 | + self.includeDiskData = kwargs.get('includeDiskData', False) |
| 58 | + self.sleepTime = kwargs.get('sleepTime', 60) |
58 | 59 |
|
59 | 60 | self.__initializeTables()
|
60 | 61 |
|
@@ -625,8 +626,8 @@ def main(argv):
|
625 | 626 | logger.info("%s", MSG['BridgeVersionInfo'].format(__version__))
|
626 | 627 | logger.details('zimonGrafanaItf invoked with parameters:\n %s', "\n".join("{}={}".format(k, v) for k, v in args.items() if not k == 'apiKeyValue'))
|
627 | 628 | # logger.details('zimonGrafanaItf invoked with parameters:\n %s', "\n".join("{}={}".format(k, type(v)) for k, v in args.items()))
|
628 |
| - mdHandler = MetadataHandler(logger, args.get('server'), args.get('serverPort'), args.get('apiKeyName'), resolveAPIKeyValue(args.get('apiKeyValue')), |
629 |
| - args.get('caCertPath'), args.get('includeDiskData'), args.get('retryDelay', None)) |
| 629 | + mdHandler = MetadataHandler(logger=logger, server=args.get('server'), port=args.get('serverPort'), apiKeyName=args.get('apiKeyName'), apiKeyValue=resolveAPIKeyValue(args.get('apiKeyValue')), |
| 630 | + caCertPath=args.get('caCertPath'), includeDiskData=args.get('includeDiskData'), sleepTime=args.get('retryDelay', None)) |
630 | 631 | except (AttributeError, TypeError, ValueError) as e:
|
631 | 632 | logger.details('%s', MSG['IntError'].format(str(e)))
|
632 | 633 | logger.error(MSG['MetaError'])
|
|
0 commit comments