#!"D:\Program Files\Fusion\eyeonScript.exe" -q master='192.168.11.50' function unescape (str) str = string.gsub(str, "+", " ") return string.gsub(str, "%%(%x%x)", function (x) return strchar(tonumber(x, 16)) end) end function decode (s) cgi={} string.gsub(s, "([^&=]*)=([^&=]*)&?", function (key, value) key=unescape(key) value=unescape(value) cgi[key]=value end) end function getfilename(path) for i = string.len(path), 1, -1 do teststring = string.sub(path, i, i) if teststring == "\\" or teststring == "/" then return string.sub(path, i+1) end end end decode(os.getenv("QUERY_STRING")) if cgi["master"] then master=cgi["master"] end f = Fusion(master) if not f then print() print('No Fusion manager is running at '..master) end rm = f.RenderManager jobs = rm:GetJobList() slaves = rm:GetSlaveList() if tonumber(cgi['show']) == 1 then short=nil else short=true end function parseFilename(filename) local seq = {} seq.FullPath = filename string.gsub(seq.FullPath, "^(.+[/\\])(.+)", function(path, name) seq.Path = path seq.FullName = name end) string.gsub(seq.FullName, "^(.+)(%..+)$", function(name, ext) seq.Name = name seq.Extension = ext end) if not seq.Name then -- no extension? seq.Name = seq.FullName end string.gsub(seq.Name, "^(.-)(%d+)$", function(name, SNum) seq.CleanName = name seq.SNum = SNum end) if seq.SNum then seq.Number = tonumber( seq.SNum ) seq.Padding = string.len( seq.SNum ) else seq.SNum = "" seq.CleanName = seq.Name end if seq.Extension == nil then seq.Extension = "" end seq.UNC = ( string.sub(seq.Path, 1, 2) == [[\\]] ) return seq end print("Content-type: text/html\n\n") print([[ Render Status ]]..master..[[
reloading in:
]]) if table.getn(slaves) == 0 then print("No Slaves on "..master) else print([[]]) for i, v in slaves do slv = v:GetAttrs() job='' if(slv.RSLVN_Status==9) then job =getfilename(v:GetJob():GetAttrs().RJOBS_Name) end print( [[]]) end print([[
Slave Status job Groups v
]]..slv.RSLVS_Name..[[]]..slv.RSLVS_Status..[[ ]]..job..[[]]..slv.RSLVS_Groups..[[]]..slv.RSLVS_Version..[[
]]) end print([[
]]) if table.getn(jobs) == 0 then print('') else for i,v in jobs do a = v:GetAttrs() print([[ ]]) end end print([[
##Render jobGroupsStatusDone/Total-(Left)Queued By
No Jobs In Queue
]]..i..[[]]) -- print(td.."remove") --print("up") --print("down") --print(td_e) --dump(a.RJOBS_Name) print(parseFilename(a.RJOBS_Name).FullName..[[]]..a.RJOBS_Groups..[[]]..a.RJOBS_Status) if a.RJOBN_RenderingFrames > 0 then print(a.RJOBN_RenderingFrames) end print([[]]..a.RJOBN_RenderedFrames..[[ / ]]..(a.RJOBN_UnrenderedFrames + a.RJOBN_RenderedFrames + a.RJOBN_RenderingFrames)..[[ - (]]..a.RJOBN_UnrenderedFrames..[[)]]..''..[[]]..a.RJOBS_QueuedBy..[[
]])