X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=Extractor%2FExtractorScript.py;h=c37c2b80b1a929733cce28c8c7f31a1109c8fda7;hp=c96daa799d2d8358fd3a546a3647b0b8d68c06c1;hb=9dc6484751df10ca60697bdfd7889b9eee532637;hpb=1fe48d531d436dd663c2952c3850449544f9adfc diff --git a/Extractor/ExtractorScript.py b/Extractor/ExtractorScript.py index c96daa7..c37c2b8 100644 --- a/Extractor/ExtractorScript.py +++ b/Extractor/ExtractorScript.py @@ -87,16 +87,11 @@ def ExtractFunctions(F, appName): while (Temp != "\"" and Temp != "app" and Temp != "location"): Temp = GetToken(F) if Temp == "\"": - Temp = GetToken(F) - #print "DEBUG: %s" % variable - #print capabilityMap - #print eventList - #if variable == "app" or variable == "location": - + Temp = GetToken(F) if Temp == "app" or Temp == "location": if Temp not in eventList: eventList.append(Temp) - elif variable in capabilityMap.keys() and capabilityMap[variable] not in capabilityList: + elif Temp not in eventList or (variable in capabilityMap.keys() and capabilityMap[variable] not in capabilityList): # We do not repeat the same capability twice capability = capabilityMap[variable] capabilityList.append(capability) @@ -106,7 +101,10 @@ def ExtractFunctions(F, appName): listOfEvents.append(variable) else: eventVarMap[Temp] = [variable] - + #print "DEBUG: %s - %s" % (variable, Temp) + #print capabilityMap + #print eventList + #Check and analyze capabilities for physical interaction AnalyzeCapabilities(Temp, appName, F) @@ -116,7 +114,6 @@ def ExtractFunctions(F, appName): AnalyzePhysicalInteraction(app1Capabilities, app2Capabilities) AnalyzePhysicalInteraction(app2Capabilities, app1Capabilities) - def AnalyzeCapabilities(Temp, appName, F): #Illuminance related if (Temp == "capability.switch" or @@ -274,13 +271,11 @@ def ExtractEvents(extractedEvents): for line in event: extractedEvents.write("\t\t" + line) event.close() - if capability == "capability.presenceSensor": - extractedEvents.write("\t\t\t} else {\n") - event = open("eventSimulator/presencePresencePresentEvent.groovy", "r") - for line in event: - extractedEvents.write("\t\t" + line) - event.close() - extractedEvents.write("\t\t\t}\n") + elif eventList[i] == "presence.present": #Case for Touched event + event = open("eventSimulator/presencePresencePresentEvent.groovy", "r") + for line in event: + extractedEvents.write("\t\t" + line) + event.close() elif eventList[i] == "doorState": #Write two events subsequently extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")