satdump/src-cli2/run_lua.cpp

42 lines
991 B
C++
Raw Normal View History

#include "run_lua.h"
#include "common/utils.h"
#include "handler/dataset/lua/lua_bind.h"
#include "libs/sol2/sol.hpp"
#include "logger.h"
namespace satdump
{
int runLua(std::string file)
{
std::string lua_code = loadFileToString(file);
try
{
sol::state lua;
lua.open_libraries(sol::lib::base);
lua.open_libraries(sol::lib::string);
lua.open_libraries(sol::lib::math);
lua.open_libraries(sol::lib::table);
lua.open_libraries(sol::lib::io);
lua::bind_logger(lua);
lua::bind_image(lua);
lua::bind_product(lua);
lua::bind_geodetic(lua);
lua::bind_projection(lua);
lua::bind_handler_image(lua);
// Run
lua.script(lua_code);
}
catch (sol::error &e)
{
logger->error(e.what());
return 1;
}
return 0;
}
} // namespace satdump