|
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