Module:Database reports and Module:Database reports/sandbox: Difference between pages
(Difference between pages)
imported>SD0001 ←Created page with '-- The subpages of this module are used for storing Lua database report configurations' |
imported>SD0001 No edit summary |
||
| Line 1: | Line 1: | ||
-- | local Report = require('Module:Database report') | ||
local Arguments = require('Module:Arguments') | |||
local p = {} | |||
p.main = function(frame) | |||
local args = Arguments.getArgs(frame) | |||
local report = Report:new() | |||
report:setSQL([[ | |||
SELECT page_namespace, page_title FROM page LIMIT 10 | |||
]]) | |||
report:useWikilinks(2, args.ns_number) | |||
report:setHeadContent('This is the head content') | |||
report:setSilent(args.silent ~= nil) | |||
return report:generate() | |||
end | |||
p.withJs = function() | |||
local report = Report:new() | |||
report:setSQL([[ | |||
SELECT page_namespace, page_title from page WHERE page_random > 0.65 limit 50 | |||
]]) | |||
report:setPostprocessJS([[ | |||
async function postprocess(rows) { | |||
const result = await bot.api({ | |||
"format": "json", | |||
"prop": "revisions", | |||
"titles": "Main Page", | |||
"formatversion": "2" | |||
}); | |||
const user = result.query.pages[0].revisions[0].user; | |||
const restData = await bot.request('https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia.org/all-access/all-agents/Main%20Page/daily/20240531/20240531'); | |||
log(restData); | |||
rows.forEach(row => { | |||
row.title = row.page_title.replace(/_/g, ' '); | |||
row.user = user; | |||
row.random = Math.random(); | |||
row.views = restData.items[0].views; | |||
delete row.page_namespace; | |||
delete row.page_title; | |||
}); | |||
return rows; | |||
} | |||
]]) | |||
return report:generate() | |||
end | |||
return p | |||