plugins/mod_admin_shell.lua
changeset 11611 03eb4c0dca27
parent 11610 0b65d43f4da4
child 11740 ddb87df3de30
equal deleted inserted replaced
11610:0b65d43f4da4 11611:03eb4c0dca27
   408 		["auth-provider"] = "Authentication provider",
   408 		["auth-provider"] = "Authentication provider",
   409 		["http-provider"] = "HTTP services",
   409 		["http-provider"] = "HTTP services",
   410 		["net-provider"] = "Network service",
   410 		["net-provider"] = "Network service",
   411 		["storage-provider"] = "Storage driver",
   411 		["storage-provider"] = "Storage driver",
   412 	};
   412 	};
       
   413 	local item_formatters = {
       
   414 		["feature"] = tostring,
       
   415 		["identity"] = function(ident) return ident.type .. "/" .. ident.category; end,
       
   416 		["adhoc-provider"] = function(item) return item.name; end,
       
   417 		["auth-provider"] = function(item) return item.name; end,
       
   418 		["storage-provider"] = function(item) return item.name; end,
       
   419 	};
       
   420 
   413 	for host in hosts do
   421 	for host in hosts do
   414 		local mod = modulemanager.get_module(host, name);
   422 		local mod = modulemanager.get_module(host, name);
   415 		if mod.module.host == "*" then
   423 		if mod.module.host == "*" then
   416 			print("in global context");
   424 			print("in global context");
   417 		else
   425 		else
   424 		if mod.module.items and next(mod.module.items) ~= nil then
   432 		if mod.module.items and next(mod.module.items) ~= nil then
   425 			print("  provides:");
   433 			print("  provides:");
   426 			for kind, items in pairs(mod.module.items) do
   434 			for kind, items in pairs(mod.module.items) do
   427 				local label = friendly_descriptions[kind] or kind:gsub("%-", " "):gsub("^%a", string.upper);
   435 				local label = friendly_descriptions[kind] or kind:gsub("%-", " "):gsub("^%a", string.upper);
   428 				print(string.format("  - %s (%d item%s)", label, #items, #items > 1 and "s" or ""));
   436 				print(string.format("  - %s (%d item%s)", label, #items, #items > 1 and "s" or ""));
       
   437 				local formatter = item_formatters[kind];
       
   438 				if formatter then
       
   439 					for _, item in ipairs(items) do
       
   440 						print("    - " .. formatter(item));
       
   441 					end
       
   442 				end
   429 			end
   443 			end
   430 		end
   444 		end
   431 		if mod.module.dependencies and next(mod.module.dependencies) ~= nil then
   445 		if mod.module.dependencies and next(mod.module.dependencies) ~= nil then
   432 			print("  dependencies:");
   446 			print("  dependencies:");
   433 			for dep in pairs(mod.module.dependencies) do
   447 			for dep in pairs(mod.module.dependencies) do