diff options
| author | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 |
|---|---|---|
| committer | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 |
| commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
| tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /build/scripts/gen_yql_python_udf.py | |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'build/scripts/gen_yql_python_udf.py')
| -rw-r--r-- | build/scripts/gen_yql_python_udf.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/build/scripts/gen_yql_python_udf.py b/build/scripts/gen_yql_python_udf.py new file mode 100644 index 00000000000..13b58981170 --- /dev/null +++ b/build/scripts/gen_yql_python_udf.py @@ -0,0 +1,55 @@ +import sys + +TEMPLATE=""" +#include <yql/udfs/common/python/python_udf/python_udf.h> + +#include <ydb/library/yql/public/udf/udf_registrator.h> + +#if @WITH_LIBRA@ +#include <yql/udfs/quality/libra/module/module.h> +#endif + +using namespace NKikimr::NUdf; + +#ifdef BUILD_UDF + +#if @WITH_LIBRA@ +LIBRA_MODULE(TLibraModule, "Libra@MODULE_NAME@"); +#endif + +extern "C" UDF_API void Register(IRegistrator& registrator, ui32 flags) { + RegisterYqlPythonUdf(registrator, flags, TStringBuf("@MODULE_NAME@"), TStringBuf("@PACKAGE_NAME@"), EPythonFlavor::@FLAVOR@); +#if @WITH_LIBRA@ + RegisterHelper<TLibraModule>(registrator); +#endif +} + +extern "C" UDF_API ui32 AbiVersion() { + return CurrentAbiVersion(); +} + +extern "C" UDF_API void SetBackTraceCallback(TBackTraceCallback callback) { + SetBackTraceCallbackImpl(callback); +} + +#endif +""" + + +def main(): + assert len(sys.argv) == 6 + flavor, module_name, package_name, path, libra_flag = sys.argv[1:] + with open(path, 'w') as f: + f.write( + TEMPLATE + .strip() + .replace('@MODULE_NAME@', module_name) + .replace('@PACKAGE_NAME@', package_name) + .replace('@FLAVOR@', flavor) + .replace('@WITH_LIBRA@', libra_flag) + ) + f.write('\n') + + +if __name__ == "__main__": + main() |
