Lua scripting¶
Coralillo uses a few lua scripts to atomically run certain operations. These can be accessed through the engine’s lua
object. Here are the available scripts:
-
engine.lua.
drop
(args=[pattern])¶ Deletes all keys matching
pattern
from the database. Specially useful in tests.
-
engine.lua.
allow
(args=[objspec], keys=[allow_key])¶ Adds objspec to the permission tree stored at
allow_key
Script registering¶
You can add your own scripts using Coralillo’s lua interface like this:
from coralillo import Engine
eng = Engine()
script = 'return ARGV[1]'
eng.lua.register('my_script', script)
assert eng.lua.my_script(args=['hello']) == b'hello'
-
Lua.
register
(scriptname, scriptbody)¶ Registers script defined by
scriptbody
(a string) so it is accessible through thelua
interface of the engine under the namescriptname
.