Fixing a bug in ExtractorScript.py: missing a check if there is no event for App1.
[smartthings-infrastructure.git] / Extractor / ExtractorScript.py
index fb03c70fc42a302a0beebe9e139d7f395445c23e..53ba8b2f769dda648223d937591ab900749f05d3 100644 (file)
@@ -59,7 +59,8 @@ eventTypeCounterMap =  {'lock': 2,
                                                'temperature' : 2,
                                                'heatingSetpoint' : 1,
                                                'coolingSetpoint' : 1,
-                                               'thermostatSetpoint' : 1}
+                                               'thermostatSetpoint' : 1,
+                                                'threeAxis' : 1}
 
 # Mapping for specific event types
 eventTypesMap =           {'alarm.both': 'alarm',
@@ -333,8 +334,12 @@ def ExtractEvents(extractedEvents):
        #print "DEBUG: App1: %d" % indexApp1
        #print "DEBUG: App2: %d" % indexApp2
        #print "DEBUG: eventList: %d" % len(eventList)
+       #print eventAppList
        #print eventList
-       isApp1 = True
+       if indexApp2Start > 0:
+               isApp1 = True
+       else:
+               isApp1 = False
        while counter < numOfActualEvents:
                # Interleave events from App1 and App2
                if isApp1 is True:
@@ -655,6 +660,8 @@ def ExtractEvents(extractedEvents):
                                eventVarCounterMap[eventList[i]] = eventVarCount + 1
                        capability = capabilityMap[variable[eventVarCount]]
                        #Write two events subsequently
+                        print("//////////////////////")
+                        print(capability)
                        if capability == "capability.switch":
                                event = open("eventSimulator/switchOnEvent.groovy", "r")
                        elif capability == "capability.switchLevel":
@@ -922,6 +929,8 @@ def ExtractEvents(extractedEvents):
                                event = open("eventSimulator/switchLevelEvent.groovy", "r")
                        elif capability == "capability.colorControl":
                                event = open("eventSimulator/colorLevelChangeEvent.groovy", "r")
+                        elif capability == "capability.switch":
+                                event = open("eventSimulator/switchLevelChangeEvent.groovy", "r")
                        for line in event:
                                extractedEvents.write(line)
                        event.close()
@@ -991,6 +1000,11 @@ def ExtractEvents(extractedEvents):
                        for line in event:
                                extractedEvents.write(line)
                        event.close()
+                elif eventList[i] == "threeAxis":
+                        event = open("eventSimulator/threeAxisChangeEvent.groovy", "r")
+                        for line in event:
+                                extractedEvents.write(line)
+                        event.close()
                        
                ###TODO: Add more events later
                extractedEvents.write("\n\t\t\tbreak\n")