1
0
Fork 0

simplify parenting logic

This commit is contained in:
Kevin Matz 2018-10-25 12:32:41 -04:00
parent dec487298e
commit e94e89be85
1 changed files with 7 additions and 13 deletions

View File

@ -58,8 +58,7 @@ class OscCommentMacroListener(CommentMacroListener):
self.osc = HogDevice(servers)
def exitDevice(self, ctx: CommentMacroParser.DeviceContext):
if isinstance(ctx.parentCtx, CommentMacroParser.MacroContext):
ctx.parentCtx.device = ctx
ctx.parentCtx.device = ctx
def enterMacro(self, ctx: CommentMacroParser.MacroContext):
ctx.device = None
@ -88,30 +87,25 @@ class OscCommentMacroListener(CommentMacroListener):
ctx.targets = []
def exitMaster(self, ctx: CommentMacroParser.MasterContext):
if isinstance(ctx.parentCtx, CommentMacroParser.MacroContext):
ctx.parentCtx.master = ctx
ctx.parentCtx.master = ctx
def exitNumber(self, ctx: CommentMacroParser.NumberContext):
ctx.value = num(ctx.getText())
if isinstance(ctx.parentCtx, CommentMacroParser.TargetContext):
ctx.parentCtx.targets.append(ctx.value)
if isinstance(ctx.parentCtx, CommentMacroParser.MacroContext):
ctx.parentCtx.number = ctx
if isinstance(ctx.parentCtx, CommentMacroParser.DeviceContext):
else:
ctx.parentCtx.number = ctx
def exitSpan(self, ctx: CommentMacroParser.SpanContext):
number1 = ctx.children[0].value
number2 = ctx.children[2].value
if (isinstance(number1, int) and isinstance(number2, int)):
if isinstance(ctx.parentCtx, CommentMacroParser.TargetContext):
minimum = min(number1, number2)
maximum = max(number1, number2)
for i in (range(minimum, maximum + 1)):
ctx.parentCtx.targets.append(i)
minimum = min(number1, number2)
maximum = max(number1, number2)
for i in (range(minimum, maximum + 1)):
ctx.parentCtx.targets.append(i)
else:
logger.error("ERROR: Spans must be ranged with intigers.")
ctx.parentCtx.targets.append(-1)
def enterTarget(self, ctx: CommentMacroParser.TargetContext):
ctx.targets = []