Externí LUA debug konzole

OBIS lze spustit ve speciálním režimu, kdy naslouchá na zvoleném TCP portu a přijímá LUA příkazy a vrací zprávy.

Spustit s následujícími parametry (6666 je číslo portu) a zalogovat se:

obis -extconsole 6666 -noxmlrpc

Následně lze z konzole pomocí programu netcat komunikovat následujícím způsobem (příklad v Linuxu):

echo -e "Restart\n<EOF/>\nProgram \"print('text') print({...})\" a b c\n<EOF/>\nExit\n<EOF/>" | nc localhost 6666 | grep -v "<EOF/>"

Doporučuje se netcat-traditional.

sudo apt-get install netcat-traditional
sudo update-alternatives --config nc

Ukázka mapování příkazů pro Vim:

"F1 help na slovo na kterem stojim
map <F1> :w^M:exec '!echo -e "Restart\n<EOF/>\nProgram Help:Find(\"'.expand("<cword>").'\")\n<EOF/>\nExit\n<EOF/>" \| nc localhost 6666 \| grep -v "<EOF/>"'^M
"F5 spusti obislua
map <F5> :!xterm -geometry 120x40+80 -e obislua -extconsole 6666 -noxmlrpc -user Admin -pass "" -data data &^M^M
"F6 spusti obislua s vyberem dat
map <F6> :!xterm -geometry 120x40+80 -e obislua -extconsole 6666 -noxmlrpc -user Admin -pass "" &^M
"F6 terminate obis. 
map <F6> :w^M:!echo -e "Terminate\n<EOF/>\n" \| nc localhost 6666 &>/dev/null &^M
"F7 run ./obislua.sh (v adresari obis41/user.*)
map <F7> :! xterm -geometry 120x40+80 -e ./obislua.sh -extconsole 6666 -noxmlrpc &^M
"F8 spusteni zvoleneho testu
map <F8> :w^M:!echo -e "Restart\n<EOF/>\nProgram test_faktury_faktury:testPreceneni()\n<EOF/>\nExit\n<EOF/>" \| nc localhost 6666 \| grep -v "<EOF/>"
"F9 spusteni vsech testu
map <F9> :w^M:!echo -e "Restart\n<EOF/>\nProgram \"dofile(LUADIR()..'debug.lua') DEBUG.Init() LuaUnit:run()\"\n<EOF/>\nExit\n<EOF/>" \| nc localhost 6666 \| grep -v "<EOF/>"
"F10 spusteni testu aktualne editovaneho souboru
map <F10> :w^M:exec '!echo -e "Restart\n<EOF/>\nProgram dofile(LUADIR()..\"debug.lua\");DEBUG.Init();LuaUnit:run(\"test_'.expand("%:t:r").'\")\n<EOF/>\nExit\n<EOF/>" \| nc localhost 6666 \| grep -v "<EOF/>"'
 
lua/externi_lua_debug_konzole.txt · Poslední úprava: 2011/01/13 15:47 autor: Karel Petrů
 
Kromě míst, kde je explicitně uvedeno jinak, je obsah této wiki licencován pod následující licencí:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki