From Wikipedia, the free encyclopedia


local p = {}



function p.getMonthHighestTemp(month, files)

  local max



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeMax", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if max == nil or valuesfield_index > max

        then

          max = valuesfield_index

        end

      end

    end

  end



  return max

end

function p.getMonthLowestTemp(month, files)

  local min



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeMin", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if min == nil or valuesfield_index < min

        then

          min = valuesfield_index

        end

      end

    end

  end



  return min

end



function p.getMonthHighestRainfall(month, files)

  local max



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeRainfall", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if max == nil or valuesfield_index > max

        then

          max = valuesfield_index

        end

      end

    end

  end



  return max

end



function p.getMonthHighestSnowfall(month, files)

  local max



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeSnowfall", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if max == nil or valuesfield_index > max

        then

          max = valuesfield_index

        end

      end

    end

  end



  return max

end



function p.getColumnIndex(name, file)

  for index,value in pairs(file"schema"]["fields"])

  do

    if value"name" == name

    then

      return index

    end

  end



  return nil

end



function p.main(frame)

  debug = ""

  local args = frame:getParent().args

  local template_args = {}

  local donnees = args"données"

  local files = {}

  local months = {"jan", "fev", "mar", "avr", "mai", "jui", "jul", "aou", "sep", "oct", "nov", "dec"}



  -- Duplicate in args

  for key,value in pairs(args) do

    template_argskey = argskey

  end



  -- Open data files

  for file in string.gmatch(donnees, "[^%s]+")

  do

    filesfile = mw.ext.data.get(file)

  end



  -- Temperature extreme high

  for num,month in pairs(months)

  do

    if template_args"tmax-record-" .. month == nil or template_args"tmax-record-" .. month == ""

    then

      template_args"tmax-record-" .. month = p.getMonthHighestTemp(num, files)

      template_args"tmax-record-date-" .. month = nil

    elseif template_args"tmax-record-" .. month == "-"

    then

      template_args"tmax-record-" .. month = nil

    end

  end



  -- Temperature extreme low

  for num,month in pairs(months)

  do

    if template_args"tmin-record-" .. month == nil or template_args"tmin-record-" .. month == ""

    then

      template_args"tmin-record-" .. month = p.getMonthLowestTemp(num, files)

      template_args"tmin-record-date-" .. month = nil

    elseif template_args"tmin-record-" .. month == "-"

    then

      template_args"tmin-record-" .. month = nil

    end

  end



  -- Rainfall max

  for num,month in pairs(months)

  do

    if template_args"pluie-record-" .. month == nil or template_args"pluie-record-" .. month == ""

    then

      template_args"pluie-record-" .. month = p.getMonthHighestRainfall(num, files)

      template_args"pluie-record-date-" .. month = nil

    elseif template_args"pluie-record-" .. month == "-"

    then

      template_args"pluie-record-" .. month = nil

    end

  end



  -- Snowfall max

  for num,month in pairs(months)

  do

    if template_args"neige-record-" .. month == nil or template_args"neige-record-" .. month == ""

    then

      template_args"neige-record-" .. month = p.getMonthHighestSnowfall(num, files)

      template_args"neige-record-date-" .. month = nil

    elseif template_args"neige-record-" .. month == "-"

    then

      template_args"neige-record-" .. month = nil

    end

  end



  -- Force debug, if any

  if debug ~= ""

  then

    return debug

  else

    return frame:expandTemplate{title = 'Weather box', args = template_args}

  end

end



return p
From Wikipedia, the free encyclopedia


local p = {}



function p.getMonthHighestTemp(month, files)

  local max



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeMax", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if max == nil or valuesfield_index > max

        then

          max = valuesfield_index

        end

      end

    end

  end



  return max

end

function p.getMonthLowestTemp(month, files)

  local min



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeMin", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if min == nil or valuesfield_index < min

        then

          min = valuesfield_index

        end

      end

    end

  end



  return min

end



function p.getMonthHighestRainfall(month, files)

  local max



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeRainfall", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if max == nil or valuesfield_index > max

        then

          max = valuesfield_index

        end

      end

    end

  end



  return max

end



function p.getMonthHighestSnowfall(month, files)

  local max



  month = string.format("%02d", month)



  for file,data in pairs(files)

  do

    field_index = p.getColumnIndex("extremeSnowfall", data)

    for index,values in pairs(data.data)

    do

      if string.find(string.sub(values1], 1, 3), month, 1, true)

      then

        if max == nil or valuesfield_index > max

        then

          max = valuesfield_index

        end

      end

    end

  end



  return max

end



function p.getColumnIndex(name, file)

  for index,value in pairs(file"schema"]["fields"])

  do

    if value"name" == name

    then

      return index

    end

  end



  return nil

end



function p.main(frame)

  debug = ""

  local args = frame:getParent().args

  local template_args = {}

  local donnees = args"données"

  local files = {}

  local months = {"jan", "fev", "mar", "avr", "mai", "jui", "jul", "aou", "sep", "oct", "nov", "dec"}



  -- Duplicate in args

  for key,value in pairs(args) do

    template_argskey = argskey

  end



  -- Open data files

  for file in string.gmatch(donnees, "[^%s]+")

  do

    filesfile = mw.ext.data.get(file)

  end



  -- Temperature extreme high

  for num,month in pairs(months)

  do

    if template_args"tmax-record-" .. month == nil or template_args"tmax-record-" .. month == ""

    then

      template_args"tmax-record-" .. month = p.getMonthHighestTemp(num, files)

      template_args"tmax-record-date-" .. month = nil

    elseif template_args"tmax-record-" .. month == "-"

    then

      template_args"tmax-record-" .. month = nil

    end

  end



  -- Temperature extreme low

  for num,month in pairs(months)

  do

    if template_args"tmin-record-" .. month == nil or template_args"tmin-record-" .. month == ""

    then

      template_args"tmin-record-" .. month = p.getMonthLowestTemp(num, files)

      template_args"tmin-record-date-" .. month = nil

    elseif template_args"tmin-record-" .. month == "-"

    then

      template_args"tmin-record-" .. month = nil

    end

  end



  -- Rainfall max

  for num,month in pairs(months)

  do

    if template_args"pluie-record-" .. month == nil or template_args"pluie-record-" .. month == ""

    then

      template_args"pluie-record-" .. month = p.getMonthHighestRainfall(num, files)

      template_args"pluie-record-date-" .. month = nil

    elseif template_args"pluie-record-" .. month == "-"

    then

      template_args"pluie-record-" .. month = nil

    end

  end



  -- Snowfall max

  for num,month in pairs(months)

  do

    if template_args"neige-record-" .. month == nil or template_args"neige-record-" .. month == ""

    then

      template_args"neige-record-" .. month = p.getMonthHighestSnowfall(num, files)

      template_args"neige-record-date-" .. month = nil

    elseif template_args"neige-record-" .. month == "-"

    then

      template_args"neige-record-" .. month = nil

    end

  end



  -- Force debug, if any

  if debug ~= ""

  then

    return debug

  else

    return frame:expandTemplate{title = 'Weather box', args = template_args}

  end

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook