Mercurial > hg > orthanc
annotate Resources/Toolbox.lua @ 1006:649d47854314 lua-scripting
proper handling of metadata in Store
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 08 Jul 2014 15:11:00 +0200 |
parents | b79bf2f4ab2e |
children | 160dfe770618 |
rev | line source |
---|---|
397
941ea46e9e26
lua filter of new instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
394
diff
changeset
|
1 --[[ PrintRecursive(struct, [limit], [indent]) Recursively print arbitrary data. |
384 | 2 Set limit (default 100) to stanch infinite loops. |
3 Indents tables as [KEY] VALUE, nested tables as [KEY] [KEY]...[KEY] VALUE | |
4 Set indent ("") to prefix each line: Mytable [KEY] [KEY]...[KEY] VALUE | |
394
9784f19f7e1b
path relative to configuration path, list of lua scripts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
384
diff
changeset
|
5 Source: https://gist.github.com/stuby/5445834#file-rprint-lua |
384 | 6 --]] |
394
9784f19f7e1b
path relative to configuration path, list of lua scripts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
384
diff
changeset
|
7 |
397
941ea46e9e26
lua filter of new instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
394
diff
changeset
|
8 function PrintRecursive(s, l, i) -- recursive Print (structure, limit, indent) |
1006
649d47854314
proper handling of metadata in Store
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
418
diff
changeset
|
9 l = (l) or 100; -- default item limit |
649d47854314
proper handling of metadata in Store
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
418
diff
changeset
|
10 i = i or ""; -- indent string |
384 | 11 if (l<1) then print "ERROR: Item limit reached."; return l-1 end; |
12 local ts = type(s); | |
13 if (ts ~= "table") then print (i,ts,s); return l-1 end | |
14 print (i,ts); -- print "table" | |
15 for k,v in pairs(s) do -- print "[KEY] VALUE" | |
397
941ea46e9e26
lua filter of new instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
394
diff
changeset
|
16 l = PrintRecursive(v, l, i.."\t["..tostring(k).."]"); |
384 | 17 if (l < 0) then break end |
18 end | |
19 return l | |
20 end | |
418
b79bf2f4ab2e
execution of lua through REST
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
397
diff
changeset
|
21 |
b79bf2f4ab2e
execution of lua through REST
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
397
diff
changeset
|
22 print('Lua toolbox installed') |