From f16ae01b12e612701f44c028f188d1ded58d0358 Mon Sep 17 00:00:00 2001 From: Max Romanov Date: Fri, 18 Sep 2020 13:41:58 +0300 Subject: Python: app module callable name configuration. Now it is possible to specify the name of the application callable using optional parameter 'callable'. Default value is 'application'. This closes #290 issue on GitHub. --- src/python/nxt_python.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/python/nxt_python.c') diff --git a/src/python/nxt_python.c b/src/python/nxt_python.c index 5b6021bb..7d4589ed 100644 --- a/src/python/nxt_python.c +++ b/src/python/nxt_python.c @@ -60,6 +60,7 @@ nxt_python_start(nxt_task_t *task, nxt_process_data_t *data) char *nxt_py_module; size_t len; PyObject *obj, *pypath, *module; + const char *callable; nxt_unit_ctx_t *unit_ctx; nxt_unit_init_t python_init; nxt_common_app_conf_t *app_conf; @@ -199,16 +200,18 @@ nxt_python_start(nxt_task_t *task, nxt_process_data_t *data) goto fail; } - obj = PyDict_GetItemString(PyModule_GetDict(module), "application"); + callable = (c->callable != NULL) ? c->callable : "application"; + + obj = PyDict_GetItemString(PyModule_GetDict(module), callable); if (nxt_slow_path(obj == NULL)) { - nxt_alert(task, "Python failed to get \"application\" " - "from module \"%s\"", nxt_py_module); + nxt_alert(task, "Python failed to get \"%s\" " + "from module \"%s\"", callable, nxt_py_module); goto fail; } if (nxt_slow_path(PyCallable_Check(obj) == 0)) { - nxt_alert(task, "\"application\" in module \"%s\" " - "is not a callable object", nxt_py_module); + nxt_alert(task, "\"%s\" in module \"%s\" " + "is not a callable object", callable, nxt_py_module); goto fail; } -- cgit