def parse_template(title, template) template_re = Regexp.new("\\\{\\\{" + template + "(.*?)\\\}\\\}", Regexp::MULTILINE) fields = {} if (scanned = @wiki.article(title).text.scan(template_re)) != [] fields_string = scanned[0][0] inlink = 0 field = "" fields_string += "|" unless fields_string.match(/\|$/) fields_string.split(//).each do |c| if c == "|" && inlink == 0 (key, value) = field.split(/=/) fields[key] = value field = "" else inlink += 1 if c == "[" inlink -= 1 if c == "]" field += c end end else $stderr.print "Template #{template} not found in #{title}!" end fields end def datum2isodate(datum) return datum[6..9] + "-" + datum[3..4] + "-" + datum[0..1] end