Made database file configurable
This commit is contained in:
parent
b0ae19db23
commit
901b3ca960
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -2,4 +2,5 @@ venv
|
||||||
.idea
|
.idea
|
||||||
/test/clients.json
|
/test/clients.json
|
||||||
*.pyc
|
*.pyc
|
||||||
*.egg-info
|
*.egg-info
|
||||||
|
*.json
|
9
torch-sub.conf
Normal file
9
torch-sub.conf
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
##############################################################################
|
||||||
|
# Sample torch-sub.conf file
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
[mqtt]
|
||||||
|
Topic=torch/+/wake #Required
|
||||||
|
|
||||||
|
[database]
|
||||||
|
Filename=torch_clients.json #Optional; Default: clients.json
|
|
@ -15,10 +15,6 @@ database_lock = threading.Lock()
|
||||||
def update_client_record(client, userdata, message):
|
def update_client_record(client, userdata, message):
|
||||||
database_lock.acquire()
|
database_lock.acquire()
|
||||||
|
|
||||||
if not os.path.exists(database_filename):
|
|
||||||
with open(database_filename, 'w') as database_blank:
|
|
||||||
json.dump({}, database_blank)
|
|
||||||
|
|
||||||
with open(database_filename, 'r') as infile:
|
with open(database_filename, 'r') as infile:
|
||||||
database = json.load(infile)
|
database = json.load(infile)
|
||||||
|
|
||||||
|
@ -47,6 +43,7 @@ class Config:
|
||||||
self.broker_port = None
|
self.broker_port = None
|
||||||
self.topic = None
|
self.topic = None
|
||||||
self.tls = None
|
self.tls = None
|
||||||
|
self.database_file = database_filename
|
||||||
parser = self.do_cli_argument_parsing()
|
parser = self.do_cli_argument_parsing()
|
||||||
(config_path, config_filename) = self.get_config_path(parser.parse_args())
|
(config_path, config_filename) = self.get_config_path(parser.parse_args())
|
||||||
print("Using torch configuration path: " + config_path)
|
print("Using torch configuration path: " + config_path)
|
||||||
|
@ -98,10 +95,20 @@ class Config:
|
||||||
'certfile': cert_file,
|
'certfile': cert_file,
|
||||||
'keyfile': key_file
|
'keyfile': key_file
|
||||||
}
|
}
|
||||||
|
if config.has_section('database'):
|
||||||
|
self.database_file = config['database'].get('Filename', fallback=database_filename)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
config = Config()
|
config = Config()
|
||||||
|
|
||||||
|
global database_filename
|
||||||
|
database_filename = config.database_file
|
||||||
|
|
||||||
|
if not os.path.exists(database_filename):
|
||||||
|
with open(database_filename, 'w') as database_blank:
|
||||||
|
json.dump({}, database_blank)
|
||||||
|
|
||||||
subscribe(config.broker_hostname,
|
subscribe(config.broker_hostname,
|
||||||
config.broker_port,
|
config.broker_port,
|
||||||
config.topic,
|
config.topic,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user