diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-10-10 20:46:14 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-10-10 20:46:14 +0000 |
commit | 933d3b99ff2dbc9da92f7e6327b9e4c58c33df79 (patch) | |
tree | 43bae011c8a516f752b5319a4a7e95b6f6385c02 /provisioning-model.lua | |
parent | 1d895ace660869053830ed33302e0708efb6065e (diff) | |
download | acf-provisioning-933d3b99ff2dbc9da92f7e6327b9e4c58c33df79.tar.bz2 acf-provisioning-933d3b99ff2dbc9da92f7e6327b9e4c58c33df79.tar.xz |
Changes to implement PUT
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r-- | provisioning-model.lua | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua index 4ada401..16bfd15 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -20,7 +20,8 @@ local updatedevicescriptfile = "/etc/provisioning/update_device.lua" local updatedeviceparamsscriptfile = "/etc/provisioning/update_device_params.lua" local deletedevicescriptfile = "/etc/provisioning/delete_device.lua" local determineclassscriptfile = "/etc/provisioning/determine_class.lua" -local scriptfiles = {updatedevicescriptfile, updatedeviceparamsscriptfile, deletedevicescriptfile, determineclassscriptfile} +local processputscriptfile = "/etc/provisioning/process_put.lua" +local scriptfiles = {updatedevicescriptfile, updatedeviceparamsscriptfile, deletedevicescriptfile, determineclassscriptfile, processputscriptfile} local env local con @@ -275,7 +276,7 @@ local function callscript(script, ...) result = f(functions, ...) end, ...) if not res and err then - assert(res, "Update Successful\nException in post update script\n"..err) + assert(res, "Exception in "..script.." script\n"..err) end end setfenv (0, _G) @@ -1912,6 +1913,17 @@ function get_file(mac, ip, agent) return result end -function put_file(file, root, data, ip, agent) - return cfe({errtxt="Not implemented"}) +function put_file(mac, data) + local retval = cfe({ label="PUT Data" }) + local res, err = pcall(function() + local connected = databaseconnect() + retval.value, retval.errtxt = callscript(processputscriptfile, mac, data) + -- If the script doesn't exist, allow the write + retval.value = retval.value or data + if connected then databasedisconnect() end + end) + if not res and err then + retval.errtxt = err + end + return retval end |