-- This is the script run after deleting a device (and all of its params) local functions, olddevice, oldparams = ... local path = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin " APP.logevent("got to delete_device script") -- We'll handle the deleting of the device by handling the resulting changing of the params -- First, have to create a new set of params (with blank extensions) local duplicatestructure duplicatestructure = function(value, saved) saved = saved or {} if type(value) == "table" then if saved[value] then return saved[value] else local output = {} saved[value] = output for k,v in pairs(value) do output[k] = duplicatestructure(v, saved) end return output end else return value end end local params = duplicatestructure(oldparams) for name,val in pairs(params.value) do if string.match(name, "^reg") then params.value[name].value.extension.value = "" end end -- Then call the other script local env = {} setmetatable (env, {__index = _G}) -- loadfile loads into the global environment -- so we set env 0, not env 1 setfenv (0, env) local f = loadfile("/etc/provisioning/update_device_params.lua") if (f) then f(functions, params, oldparams) end setfenv (0, _G)