From: Vsevolod Stakhov Date: Tue, 3 Mar 2026 10:11:07 +0000 (+0000) Subject: [Fix] Move --classifier to top-level parser X-Git-Tag: 4.0.0~24^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=18ed0306c500d259e3d4e8bcb262f5eacd9e1ca4;p=thirdparty%2Frspamd.git [Fix] Move --classifier to top-level parser The --classifier option must be available for all subcommands (dump, restore, migrate), not just dump and migrate. Move it to the top-level parser and use select_classifier in restore handler as well. --- diff --git a/lualib/rspamadm/statistics_dump.lua b/lualib/rspamadm/statistics_dump.lua index 3bf6aaa200..7f1c07677d 100644 --- a/lualib/rspamadm/statistics_dump.lua +++ b/lualib/rspamadm/statistics_dump.lua @@ -48,6 +48,10 @@ parser:option "-b --batch-size" :convert(tonumber) :default(1000) +parser:option "-S --classifier" + :description "Classifier name (required when multiple classifiers configured)" + :argname("") + -- Extract subcommand local dump = parser:command "dump d" :description "Dump bayes statistics" @@ -64,9 +68,6 @@ dump:option "-b --batch-size" :argname("") :convert(tonumber) :default(1000) -dump:option "-S --classifier" - :description "Classifier name (required when multiple classifiers configured)" - :argname("") -- Restore @@ -105,9 +106,6 @@ migrate:option "-b --batch-size" :argname("") :convert(tonumber) :default(1000) -migrate:option "-S --classifier" - :description "Classifier name (required when multiple classifiers configured)" - :argname("") local function load_config(opts) local _r, err = rspamd_config:load_ucl(opts['config']) @@ -643,10 +641,11 @@ local function execute_batch(batch, conns, opts) end local function restore_handler(opts) + local selected = select_classifier(opts) local files = opts.file or { '-' } local conns = {} - for _, cls in ipairs(classifiers) do + for _, cls in ipairs(selected) do local res, conn = lua_redis.redis_connect_sync(cls.redis_params, true) if not res then