Module:JI ratios: Difference between revisions
m comments |
bring back function that parses search args entered as one string |
||
| Line 265: | Line 265: | ||
end | end | ||
return texts | return texts | ||
end | |||
-------------------------------------------------------------------------------- | |||
---------------------------- ARG-PARSING FUNCTION ------------------------------ | |||
-------------------------------------------------------------------------------- | |||
-- Parse search args if entered as one string | |||
function p.parse_args(search_args) | |||
local parsed = tip.parse_kv_pairs(search_args) | |||
if parsed["Equave"] ~= nil then | |||
parsed["Equave"] = rat.parse(parsed["Equave"]) | |||
end | |||
if parsed["Int Limit"] ~= nil then | |||
parsed["Int Limit"] = tonumber(parsed["Int Limit"]) | |||
end | |||
if parsed["Tenney Height"] ~= nil then | |||
parsed["Tenney Height"] = tonumber(parsed["Tenney Height"]) | |||
end | |||
if parsed["Prime Limit"] ~= nil then | |||
parsed["Prime Limit"] = tonumber(parsed["Prime Limit"]) | |||
end | |||
if parsed["Subgroup"] ~= nil then | |||
local subgroup_elements = tip.parse_numeric_pairs(parsed["Subgroup"], ".", "/", true) | |||
for i = 1, #subgroup_elements do | |||
subgroup_elements[i] = rat.new(subgroup_elements[i][1], subgroup_elements[i][2]) | |||
end | |||
parsed["Subgroup"] = subgroup_elements | |||
end | |||
if parsed["Complements Only"] ~= nil then | |||
parsed["Complements Only"] = yesno(parsed["Complements Only"]) | |||
end | |||
return parsed | |||
end | end | ||
| Line 337: | Line 376: | ||
function p.tester() | function p.tester() | ||
return p.ratios_as_string(p. | return p.ratios_as_string(p._ji_ratios(p.parse_args("Int Limit: 30; Equave: 3/1"))) | ||
end | end | ||