1
0
Fork 0

delay loading config file

This commit is contained in:
Kevin Matz 2019-11-18 22:23:51 -05:00
parent 9532b1c003
commit 457e53109c
4 changed files with 32 additions and 34 deletions

View File

@ -31,8 +31,8 @@ def beautify_lisp_string(in_string):
class OscCommentMacroListener(CommentMacroListener):
def __init__(self, servers):
self.osc = HogNet(servers)
def __init__(self):
self.osc = None
def exitWait(self, ctx: CommentMacroParser.WaitContext):
logging.info("Waiting " + str(ctx.number().value) + " seconds.")

View File

@ -3,7 +3,7 @@ from pythonosc import osc_message_builder
from time import sleep
class HogNet():
class HogNet:
# button state constants
buttonDOWN = 1
buttonUP = 0

View File

@ -20,12 +20,13 @@ class SyntaxErrorListener(ErrorListener):
raise SyntaxError("line "+str(line)+":"+str(column)+" "+msg)
def loadConfig(file='server.cfg'):
# empty server dictionary
servers = {}
# open config file
config = configparser.ConfigParser(allow_no_value=True)
config.read('server.cfg')
config.read(file)
# set up each hog device
for name in config.get('network', 'hogs').split(','):
@ -42,19 +43,12 @@ for name in config.get('network', 'hogs').split(','):
except KeyError as e:
print('Error configuring net#', net, e)
continue
# clear temp variables off the stack
try:
del ip, port, net
del server, config
except NameError as e:
print('failed to release memory', e)
return servers
# init reusable walker and listener
walker = ParseTreeWalker()
listener = OscCommentMacroListener(servers)
listener = OscCommentMacroListener()
# main handler for processing input

6
bs.py
View File

@ -6,13 +6,17 @@
import logging
import sys
from bacon.script import comment
from bacon.script import comment, listener
from bacon.script import loadConfig as loadBsConfig
from bacon.hog4 import HogNet
# setup logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
listener.osc = HogNet(loadBsConfig('server.cfg'))
# handle user input if run directly
if __name__ == '__main__':
if len(sys.argv) > 1: