diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-11-23 18:36:41 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-11-23 18:36:41 +0000 |
commit | 3280d0a385cc84c4f2b44a556c26a73291d59820 (patch) | |
tree | 7354c0d009e8df9166aa7d379c4ff03fcf1569a0 /src/lua/lua_task.c | |
parent | 171031923755ae89ed2672130b3fb3665c5c8796 (diff) | |
download | rspamd-3280d0a385cc84c4f2b44a556c26a73291d59820.tar.gz rspamd-3280d0a385cc84c4f2b44a556c26a73291d59820.zip |
Restore multiple classifiers support
Diffstat (limited to 'src/lua/lua_task.c')
-rw-r--r-- | src/lua/lua_task.c | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index d9840275f..0e43b7ab5 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -1945,8 +1945,7 @@ lua_task_learn (lua_State *L) { struct rspamd_task *task = lua_check_task (L, 1); gboolean is_spam = FALSE; - const gchar *clname; - struct rspamd_classifier_config *cl; + const gchar *clname = NULL; GError *err = NULL; int ret = 1; @@ -1954,29 +1953,16 @@ lua_task_learn (lua_State *L) if (lua_gettop (L) > 2) { clname = luaL_checkstring (L, 3); } - else { - clname = "bayes"; - } - - cl = rspamd_config_find_classifier (task->cfg, clname); - if (cl == NULL) { - msg_warn_task ("classifier %s is not found", clname); + if (!rspamd_learn_task_spam (task, is_spam, clname, &err)) { lua_pushboolean (L, FALSE); - lua_pushstring (L, "classifier not found"); - ret = 2; + if (err != NULL) { + lua_pushstring (L, err->message); + ret = 2; + } } else { - if (!rspamd_learn_task_spam (cl, task, is_spam, &err)) { - lua_pushboolean (L, FALSE); - if (err != NULL) { - lua_pushstring (L, err->message); - ret = 2; - } - } - else { - lua_pushboolean (L, TRUE); - } + lua_pushboolean (L, TRUE); } return ret; |