<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maruneko.autumns.page/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ADuration</id>
	<title>Module:Duration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://maruneko.autumns.page/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ADuration"/>
	<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Duration&amp;action=history"/>
	<updated>2026-04-04T19:33:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Duration&amp;diff=1079&amp;oldid=prev</id>
		<title>imported&gt;Eden: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Duration&amp;diff=1079&amp;oldid=prev"/>
		<updated>2021-03-11T23:10:23Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:10, 11 March 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key jth_wiki:diff:1.41:old-1078:rev-1079 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Eden</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Duration&amp;diff=1078&amp;oldid=prev</id>
		<title>gender and sexuality&gt;Pppery: Fix error message per edit request</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Duration&amp;diff=1078&amp;oldid=prev"/>
		<updated>2020-05-11T14:05:19Z</updated>

		<summary type="html">&lt;p&gt;Fix error message per edit request&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p._error( error_str )&lt;br /&gt;
    return '[[Category:Duration with input error]]&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;Error in Module:Duration: ' .. error_str .. '&amp;lt;/strong&amp;gt;'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require('Module:Arguments').getArgs(frame, {wrappers = {'Template:Duration', 'Template:Duration/sandbox'}})&lt;br /&gt;
	local tmp = args.duration or args[1] or ''&lt;br /&gt;
	local duration = {}&lt;br /&gt;
	if tonumber(args[1]) or args[2] or args[3] then&lt;br /&gt;
		if args[4] then return p._error('Parameter number 4 should not be specified') end&lt;br /&gt;
		if not args[1] or args[1] == '' then&lt;br /&gt;
			duration = {args[2] or 0, args[3] or 0}&lt;br /&gt;
		else&lt;br /&gt;
			duration = {args[1], args[2] or 0, args[3] or 0}&lt;br /&gt;
		end&lt;br /&gt;
		tmp = nil&lt;br /&gt;
		for k, v in ipairs(duration) do&lt;br /&gt;
			duration[k] = tonumber(v)&lt;br /&gt;
			if not duration[k] then return p._error('Invalid values') end&lt;br /&gt;
		end&lt;br /&gt;
	elseif args.h or args.m or args.s then&lt;br /&gt;
		if not args.h or args.h == '' then&lt;br /&gt;
			duration = {args.m or 0, args.s or 0}&lt;br /&gt;
		else&lt;br /&gt;
			duration = {args.h, args.m or 0, args.s or 0}&lt;br /&gt;
		end&lt;br /&gt;
		tmp = nil&lt;br /&gt;
		for k, v in ipairs(duration) do&lt;br /&gt;
			duration[k] = tonumber(v)&lt;br /&gt;
			if not duration[k] then return p._error('Invalid values') end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if mw.ustring.find(tmp, 'class=&amp;quot;duration&amp;quot;', 1, yes) then return tmp end -- if there is already a microformat, don't do anything&lt;br /&gt;
		duration = mw.text.split(mw.ustring.match(tmp, '%d*:?%d+:%d+%.?%d*') or '', ':') -- split into table&lt;br /&gt;
		if duration[4] then return p._error('Maximum of two colons allowed') end&lt;br /&gt;
		for k, v in ipairs(duration) do duration[k] = tonumber(v) or 0 end -- convert values to numbers&lt;br /&gt;
	end&lt;br /&gt;
	if duration[3] then&lt;br /&gt;
		if (duration[1] + duration[2] + duration[3]) == 0 then return nil end&lt;br /&gt;
		if (duration[1] ~= math.ceil(duration[1])) or (duration[2] ~= math.ceil(duration[2])) then return p._error('Hours and minutes values must be integers') end&lt;br /&gt;
		if duration[3] &amp;gt;= 60 then return p._error('Seconds value must be less than 60') end&lt;br /&gt;
		if duration[2] &amp;gt;= 60 then return p._error('Minutes value must be less than 60 if hours value is specified') end&lt;br /&gt;
		if duration[2] &amp;lt; 10 then duration[2] = '0'..duration[2] end -- zero padding&lt;br /&gt;
		if duration[3] &amp;lt; 10 then duration[3] = '0'..duration[3] end&lt;br /&gt;
		duration = '&amp;lt;span class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;h&amp;quot;&amp;gt;' .. duration[1] .. '&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;min&amp;quot;&amp;gt;' .. duration[2] .. '&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;s&amp;quot;&amp;gt;' .. duration[3] .. '&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;'&lt;br /&gt;
	elseif duration[2] then&lt;br /&gt;
		if (duration[1] + duration[2]) == 0 then return nil end&lt;br /&gt;
		if duration[1] ~= math.ceil(duration[1]) then return p._error('Hours and minutes values must be integers') end&lt;br /&gt;
		if duration[2] &amp;gt;= 60 then return p._error('Seconds value must be less than 60') end&lt;br /&gt;
		if duration[2] &amp;lt; 10 then duration[2] = '0'..duration[2] end -- zero padding&lt;br /&gt;
		duration = '&amp;lt;span class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;min&amp;quot;&amp;gt;' .. duration[1] .. '&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;s&amp;quot;&amp;gt;' .. duration[2] .. '&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;'&lt;br /&gt;
	else&lt;br /&gt;
		duration = ''&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if tmp and tmp ~= '' then&lt;br /&gt;
		if duration ~= '' then tmp = mw.ustring.gsub(tmp, '%d*:?%d+:%d+%.?%d*', duration, 1) else tmp = tmp .. ' [[Category:Duration without hAudio microformat]]' end&lt;br /&gt;
	else&lt;br /&gt;
		if duration ~= '' then tmp = duration end&lt;br /&gt;
	end&lt;br /&gt;
	return tmp&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>gender and sexuality&gt;Pppery</name></author>
	</entry>
</feed>