Module:Indicator datasets table: Difference between revisions

From Visual Data Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
      
      
     for _, id in ipairs(ids) do
     for _, id in ipairs(ids) do
        -- Konstruieren des Seitentitels anhand der Page-ID
         local titleobject = mw.title.new( tonumber(id) )
         local titleobject = mw.title.new( tonumber(id) )
--Doesn't use a colon
       
local existspage = titleobject.exists
        if titleobject then
local pagecontent
            local existspage = titleobject.exists
if existspage then
-- Method uses a colon
  pagecontent = titleobject:getContent()
              
              
             if jsonData and jsonData.Dataset.date then
             if existspage then
                table.insert(dates, jsonData.Dataset.date)
                local pagecontent = titleobject:getContent()
                local jsonData = mw.text.jsonDecode(pagecontent)
               
                if jsonData and jsonData.Dataset and jsonData.Dataset.date then
                    table.insert(dates, jsonData.Dataset.date)
                 else
                 else
                     table.insert(dates, "Error: Datum nicht gefunden für ID " .. id)
                     table.insert(dates, "Error: Datum nicht gefunden für ID " .. id)
Line 29: Line 28:
                 table.insert(dates, "Error: Seite nicht gefunden für ID " .. id)
                 table.insert(dates, "Error: Seite nicht gefunden für ID " .. id)
             end
             end
        else
            table.insert(dates, "Error: Fehler beim Erstellen des Titels für ID " .. id)
         end
         end
 
    end
      
      
     return table.concat(pagecontent, "# ")
     return table.concat(dates, ", ")
end
end


return p
return p

Revision as of 13:56, 2 May 2024

Documentation for this module may be created at Module:Indicator datasets table/doc

local p = {}

function p.getDatasets(frame)
    local articleids = frame.args.articleids
    if not articleids then
        return "Error: articleids not provided"
    end
    
    local ids = mw.text.split(articleids, ",")
    local dates = {}
    
    for _, id in ipairs(ids) do
        local titleobject = mw.title.new( tonumber(id) )
        
        if titleobject then
            local existspage = titleobject.exists
            
            if existspage then
                local pagecontent = titleobject:getContent()
                local jsonData = mw.text.jsonDecode(pagecontent)
                
                if jsonData and jsonData.Dataset and jsonData.Dataset.date then
                    table.insert(dates, jsonData.Dataset.date)
                else
                    table.insert(dates, "Error: Datum nicht gefunden für ID " .. id)
                end
            else
                table.insert(dates, "Error: Seite nicht gefunden für ID " .. id)
            end
        else
            table.insert(dates, "Error: Fehler beim Erstellen des Titels für ID " .. id)
        end
    end
    
    return table.concat(dates, ", ")
end

return p