File

mod_pubsub_forgejo/test.lua @ 6303:d73cae8d80ce

mod_cloud_notify: actually fix labels diff --git a/mod_cloud_notify/README.md b/mod_cloud_notify/README.md --- a/mod_cloud_notify/README.md +++ b/mod_cloud_notify/README.md @@ -1,7 +1,7 @@ ---- --labels: --- 'Stage-Beta' --summary: 'XEP-0357: Cloud push notifications' +labels: +- 'Stage-Beta' +summary: 'XEP-0357: Cloud push notifications' ---- # Introduction
author Menel <menel@snikket.de>
date Fri, 13 Jun 2025 10:48:20 +0200
parent 6203:131b8bfbefb4
line wrap: on
line source

-- CLI script to ease templates writing
-- must be launched with `lua test.lua` after setting the following env vars,
-- (assuming prosody has been clone in ../../prosody-0.12)
-- LUA_CPATH=../../prosody-0.12/\?.so
-- LUA_PATH=../../prosody-0.12/\?.lua\;\?.lua
-- allow loading ".lib.lua" modules
local function loadlib(modulename)
	local filename = modulename .. ".lib.lua"
	local file = io.open(filename, "rb")
	if file then
		return load(file:read("a")), modulename
	else
		return filename .. " not found"
	end
end

table.insert(package.searchers, loadlib)

local json = require "util.json"
local format = require "format"
local templates = require "templates"

local function read_json(fname)
	local f = io.open(fname)
	assert(f ~= nil, fname)
	local data = json.decode(f:read("a"))
	f:close()
	return data
end

local function read_payload(dirname)
	return read_json("./webhook-examples/" .. dirname .. "/content.json")
end

local function pprint(stanza) print(stanza:indent(1, "  "):pretty_print()) end

pprint(format(read_payload("push"), templates.push))
pprint(format(read_payload("pull_request"), templates.pull_request))
-- pprint(format(read_payload("push_tag"), templates.push))  -- this is a push with 0 commits. It's ugly!
pprint(format(read_payload("release"), templates.release))