Volatile:ListField
From Metabolomics.JP
(Difference between revisions)
m (New page: {{#lua: for page,data in stdin:gmatch("&&([%S]+)&&tribe=([^\n]+)") do print(page .. ": " .. data) end | {{#replace:{{#SearchLine:tribe=|Bangladesh}}|||&&}} }}) |
m |
||
(44 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | <!----List fields of name "<nowiki>{{{1}}}</nowiki>" in namespace "<nowiki>{{{2}}}</nowiki>"----> | ||
+ | {{#def:ARG1|{{{1}}}}}{{#def:ARG2|{{{2}}}}}{{#def:ARG3|{{{3|0}}}}}<!---{{#formtag:form|action="/wiki/Volatile:ListField"| Showing groups of size > | ||
+ | {{#formtag:select|name="ARG3"| | ||
+ | {{#formtag:option|value="0" {{#ifeq:{{#var:ARG3}}|0|selected="yes"}}|0}} | ||
+ | {{#formtag:option|value="1" {{#ifeq:{{#var:ARG3}}|1|selected="yes"}}|1}} | ||
+ | {{#formtag:option|value="2" {{#ifeq:{{#var:ARG3}}|2|selected="yes"}}|2}} | ||
+ | {{#formtag:option|value="3" {{#ifeq:{{#var:ARG3}}|3|selected="yes"}}|3}} | ||
+ | {{#formtag:input|type="submit"}} }} }}---> | ||
+ | ==Search Results of '''{{{1}}}'''== | ||
{{#lua: | {{#lua: | ||
− | for page,data in stdin:gmatch("&&([%S]+)&& | + | function trim(s) return (string.gsub(s, "^%s*(.-)%s*$", "%1")) end |
− | print( | + | list = {} |
+ | id = {} | ||
+ | for page,data in stdin:gmatch("&&([%S]+)&&{{{1}}} *= *([^\n]+)") do | ||
+ | if ((data ~= "-") and (data ~= " ")) then | ||
+ | data = trim(data) | ||
+ | tmp = list[data] | ||
+ | if (tmp == nil) then | ||
+ | list[data] = { page } | ||
+ | table.insert(id, data) | ||
+ | else | ||
+ | table.insert(tmp, page) | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | table.sort(id) | ||
+ | print("Total " .. table.getn(id) .. " groups.") | ||
+ | local coff = tonumber("{{#var:ARG3}}") | ||
+ | if (coff == nil) then coff =0 else print("Showing groups more than size=" .. coff .. "only") end | ||
+ | for _,v in ipairs(id) do | ||
+ | if (table.getn(list[v]) > coff) then | ||
+ | print("* '''" .. v .. "'''") | ||
+ | table.sort(list[v]) | ||
+ | for i = 1,table.getn(list[v]) do | ||
+ | if (list[v][i] ~= list[v][i + 1]) then | ||
+ | print("[[{{#var:ARG2}}:" .. list[v][i] .."|".. list[v][i] .."]]") end | ||
+ | end | ||
+ | end | ||
end | end | ||
| | | | ||
− | {{#replace:{{#SearchLine: | + | {{#replace:{{#SearchLine:{{#var:ARG1}}|{{#var:ARG2}}}}|||&&}} |
}} | }} |
Latest revision as of 18:47, 11 April 2012