comparison Core.lua @ 49:f52d472f0b0a

Sweeping refactor to compartmentalize the various lists and to give them nice interfaces. Disentangled dependency web significantly
author John@Yosemite-PC
date Wed, 21 Mar 2012 22:52:42 -0400
parents 8913e7d79cad
children 94ae80d58903
comparison
equal deleted inserted replaced
48:b3679847e292 49:f52d472f0b0a
61 p = p:lower() 61 p = p:lower()
62 -- next two lines from sylvanaar 62 -- next two lines from sylvanaar
63 local MULTIBYTE_FIRST_CHAR = "^([\192-\255]?%a?[\128-\191]*)" 63 local MULTIBYTE_FIRST_CHAR = "^([\192-\255]?%a?[\128-\191]*)"
64 return string.gsub(p, MULTIBYTE_FIRST_CHAR, string.upper, 1) 64 return string.gsub(p, MULTIBYTE_FIRST_CHAR, string.upper, 1)
65 end 65 end
66 action,arg1,arg2,arg3 = bsk:GetArgs(paramIn,4)
66 67
67 if param[1] == nil or param[1] == "" then 68 if not action then
68 print("need args") 69 print("need args")
69 return 70 return
70 end 71 end
71 if param[1] == "persons" then 72 if action == "persons" then
72 PrintPersons() 73 PrintPersons()
73 elseif param[1] == "changes" then 74 elseif action == "changes" then
74 PrintChanges() 75 PrintChanges()
75 elseif param[1] == "delete" then 76 elseif action == "selfdestruct" then
76 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then 77 SelfDestruct()
78 elseif action == "delete" or action == "remove" then
79 if not arg1 or not arg2 then
77 PrintTable(param) 80 PrintTable(param)
78 return 81 return
79 end 82 end
80 if param[2] == "list" then 83 if arg1 == "list" then
81 DeleteList(param[3]) 84 DeleteList(arg2)
82 elseif param[2] == "personfromlist" then 85 elseif arg1 == "personfromlist" or "fromlist" then
83 if param[4] == nil or param[4] == "" then 86 if not arg3 then
84 PrintTable(param) 87 PrintTable(param)
85 return 88 return
86 end 89 end
87 local person = FixPersonName(param[3]) 90 local person = FixPersonName(arg2)
88 RemovePersonFromList(person, param[4]) 91 RemovePersonFromList(person, arg3)
89 elseif param[2] == "person" then 92 elseif arg1 == "person" then
90 local person = FixPersonName(param[3]) 93 local person = FixPersonName(arg2)
91 RemovePerson(person) 94 RemovePerson(person)
92 else 95 else
93 printf("Deleting anything of type %s is not supported",param[2]) 96 printf("Deleting anything of type %s is not supported",arg1)
94 end 97 end
95 elseif param[1] == "nuke" then 98 elseif action == "nuke" then
96 if param[2] == nil or param[2] == "" then 99 if not arg1 then
97 PrintTable(param) 100 PrintTable(param)
98 return 101 return
99 end 102 end
100 local person = FixPersonName(param[2]) 103 local person = FixPersonName(arg1)
101 NukePerson(person) 104 NukePerson(person)
102 elseif param[1] == "add" then 105 elseif action == "add" or action == "create" then
103 if param[2] == nil or param[2] == "" then 106 if not arg1 or not arg2 then
104 PrintTable(param) 107 PrintTable(param)
105 return 108 return
106 end 109 end
107 if param[3] == nil or param[3] == "" then 110 if arg1 == "person" then
108 PrintTable(param) 111 if arg2 == "all" or arg2 == "missing" then
109 return 112 PersonList:AddMissing()
110 end
111 if param[2] == "person" then
112 if param[3] == "all" then
113 AddMissingPersons()
114 else 113 else
115 local person = FixPersonName(param[3]) 114 local person = FixPersonName(arg2)
116 AddPerson(person) 115 AddPerson(person)
117 end 116 end
118 elseif param[2] == "list" then 117 elseif arg1 == "list" then
119 CreateList(param[3]) 118 CreateList(arg2)
120 elseif param[2] == "tolist" then 119 elseif arg1 == "tolist" then
121 if param[4] == nil or param[4] == "" then 120 if not arg3 then
122 PrintTable(param) 121 PrintTable(param)
123 return 122 return
124 end 123 end
125 local person = FixPersonName(param[3]) 124 local person = FixPersonName(arg2)
126 AddPersonToListEnd(person,param[4]) 125 AddPersonToListEnd(person,arg3)
127 elseif param[2] == "tolistrandom" then 126 elseif arg1 == "tolistrandom" then
128 if param[4] == nil or param[4] == "" then 127 if not arg3 then
129 PrintTable(param) 128 PrintTable(param)
130 return 129 return
131 end 130 end
132 local person = FixPersonName(param[3]) 131 local person = FixPersonName(arg2)
133 AddPersonToListRandom(person,param[4]) 132 AddPersonToListRandom(person,arg3)
134 end 133 end
135 elseif param[1] == "populate" then 134 elseif action == "populate" then
136 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then 135 if not arg1 then
137 PrintTable(param) 136 PrintTable(param)
138 return 137 return
139 end 138 end
140 -- list = p2 139 -- list = p2
141 local index = GetListIndex(param[2]) 140 PopulateListRandom(arg1)
142 if param[3] == "random" then 141 elseif action == "suicide" then
143 PopulateListRandom(index) 142 if not arg1 or not arg2 then
144 end
145 elseif param[1] == "suicide" then
146 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then
147 PrintTable(param) 143 PrintTable(param)
148 return 144 return
149 end 145 end
150 local person = FixPersonName(param[2]) 146 local person = FixPersonName(arg1)
151 SuicidePerson(person,param[3]) 147 SuicidePerson(person,arg2)
152 elseif param[1] == "lists" then 148 elseif action == "lists" then
153 if param[2] == nil or param[2] == "" then 149 if not arg1 then
154 PrettyPrintLists() 150 PrettyPrintLists()
155 return 151 return
156 else 152 else
157 local listIndex = GetListIndex(param[2]) 153 PrettyPrintList(arg1)
158 PrettyPrintList(listIndex)
159 end 154 end
160 elseif param[1] == "reserve" then 155 elseif action == "reserve" then
161 if param[2] == nil or param[2] == "" then 156 if not arg1 then
157 PrintTable(param)
158 return
159 end
160 local person = FixPersonName(arg1)
161 ReservePerson(person)
162 elseif action == "trim" then
163 if not arg1 then
162 printtable(param) 164 printtable(param)
163 return 165 return
164 end 166 end
165 local person = FixPersonName(param[2]) 167 TrimLists(arg1)
166 AddReserve(person) 168 elseif action == "rename" then
167 elseif param[1] == "trim" then 169 if not arg1 or not arg2 then
168 if param[2] == nil or param[2] == "" then 170 PrintTable(param)
169 printtable(param)
170 return 171 return
171 end 172 end
172 TrimLists(param[2]) 173 RenameList(arg1,arg2)
173 elseif param[1] == "rename" then
174 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then
175 printtable(param)
176 return
177 end
178 RenameList(param[2],param[3])
179 elseif param[1] == "selfdestruct" then
180 SelfDestruct()
181 else 174 else
182 CreateGUI() 175 CreateGUI()
183 end 176 end
184 177
185 --if frame == nil then 178 --if frame == nil then