From: Vsevolod Stakhov Date: Sun, 3 Dec 2017 16:49:54 +0000 (+0000) Subject: [Feature] Add function to show plugins stat X-Git-Tag: 1.7.0~374 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=59ada6874d061e8b87b3115a3ef60b66321c9a01;p=thirdparty%2Frspamd.git [Feature] Add function to show plugins stat --- diff --git a/lualib/rspamadm/plugins_stats.lua b/lualib/rspamadm/plugins_stats.lua new file mode 100644 index 0000000000..465396a2aa --- /dev/null +++ b/lualib/rspamadm/plugins_stats.lua @@ -0,0 +1,44 @@ +--[[ +Copyright (c) 2017, Vsevolod Stakhov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +]]-- + +local ansicolors = require "rspamadm/ansicolors" + +local function printf(fmt, ...) + print(string.format(fmt, ...)) +end + +local function highlight(str) + return ansicolors.white .. str .. ansicolors.reset +end + +local function print_plugins_table(tbl, what) + local mods = {} + for k, _ in pairs(tbl) do + table.insert(mods, k) + end + + printf("Modules %s: %s", highlight(what), table.concat(mods, ", ")) +end + +return function(args, _) + print_plugins_table(rspamd_plugins_state.enabled, "enabled") + print_plugins_table(rspamd_plugins_state.disabled_unconfigured, + "disabled (unconfigured)") + print_plugins_table(rspamd_plugins_state.disabled_redis, + "disabled (no Redis)") + print_plugins_table(rspamd_plugins_state.disabled_failed, + "disabled (failed)") +end \ No newline at end of file