Module:Indicator datasets table: Difference between revisions

From Visual Data Wiki
Jump to navigation Jump to search
No edit summary
Tag: Manual revert
No edit summary
Line 12: Line 12:
     for _, id in ipairs(ids) do
     for _, id in ipairs(ids) do
         -- Konstruieren des Seitentitels anhand der Page-ID
         -- 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
        if titleobject then
local existspage = titleobject.exists
            local existspage = titleobject.exists
local pagecontent
if existspage then
-- Method uses a colon
  pagecontent = titleobject:getContent()
 
              
              
             if existspage then
             if jsonData and jsonData.Dataset.date then
                local pagecontent = titleobject:getContent()
                table.insert(dates, jsonData.Dataset.date)
                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 30:
                 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(dates, ", ")
     return table.concat(dates, ", ")

Revision as of 13:49, 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
        -- Konstruieren des Seitentitels anhand der Page-ID
        local titleobject = mw.title.new( tonumber(id) )
		--Doesn't use a colon
		local existspage = titleobject.exists
		local pagecontent
		
		if existspage then
		-- Method uses a colon
		  pagecontent = titleobject:getContent()

            
            if jsonData 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
        end

    
    return table.concat(dates, ", ")
end

return p