Commit #4
[smartthings-infrastructure.git] / Runner.py
1 import os
2
3 #Create directory for files to append in the main file
4 Out = open("main.groovy", "w+")
5 GlobalVariables = open("GlobalVariables/"+"GlobalVariables.groovy", "r")
6 definition = open("Methods/"+"definition.groovy", "r")
7 preferences = open("Methods/"+"preferences.groovy", "r")
8 setLocationMode = open("Methods/"+"setLocationMode.groovy", "r")
9 subscribe = open("Methods/"+"subscribe.groovy", "r")
10 runIn = open("Methods/"+"runIn.groovy", "r")
11 unschedule = open("Methods/"+"unschedule.groovy", "r")
12 sendNotificationToContacts = open("Methods/"+"sendNotificationToContacts.groovy", "r")
13 sendSms = open("Methods/"+"sendSms.groovy", "r")
14 eventHandler = open("Methods/"+"eventHandler.groovy", "r")
15 App = open("Extractor/"+"App.groovy", "r")
16 extractedObjects = open("Extractor/"+"extractedObjects.groovy", "r")
17
18
19 #Extract information from preferences and subscribe method to create required objects
20 os.system("python Extractor/ExtractorScript.py")
21
22 Out.write("//Infrastructure for SmartThings Application\n")
23 Out.write("//Importing Libraries\n")
24 Out.write("import groovy.transform.Field\n")
25 Out.write("\n")
26 Out.write("//Importing Classes\n")
27 Out.write("import ContactSensor.Contacting\n")
28 Out.write("import ContactSensor.Contacts\n")
29 Out.write("import Lock.Locking\n")
30 Out.write("import Lock.Locks\n")
31 Out.write("import Switch.Switching\n")
32 Out.write("import Switch.Switches\n")
33 Out.write("import Logger.Logger\n")
34 Out.write("import Location.LocationVar\n")
35 Out.write("import Location.Phrase\n")
36 Out.write("import appTouch.Touched\n")
37 Out.write("import Event.Event\n")
38 Out.write("\n")
39 Out.write("//GlobalVariables\n")
40 for line in GlobalVariables:
41         Out.write(line)
42 Out.write("\n")
43 Out.write("//extractedObjects\n")
44 for line in extractedObjects:
45         Out.write(line)
46 Out.write("\n")
47 Out.write("//Methods\n")
48 for line in definition:
49         Out.write(line)
50 for line in preferences:
51         Out.write(line)
52 for line in setLocationMode:
53         Out.write(line)
54 for line in subscribe:
55         Out.write(line)
56 for line in runIn:
57         Out.write(line)
58 for line in unschedule:
59         Out.write(line)
60 for line in sendNotificationToContacts:
61         Out.write(line)
62 for line in sendSms:
63         Out.write(line)
64 for line in eventHandler:
65         Out.write(line)
66 Out.write("\n")
67 for line in App:
68         Out.write(line)
69 Out.write("\n")
70 Out.write("installed()\n")
71 Out.close()
72
73
74
75