
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.freewiki.eu/de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AISO15924%2Fcommons</id>
	<title>Modul:ISO15924/commons - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.freewiki.eu/de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AISO15924%2Fcommons"/>
	<link rel="alternate" type="text/html" href="https://www.freewiki.eu/de/index.php?title=Modul:ISO15924/commons&amp;action=history"/>
	<updated>2026-05-05T04:47:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in FreeWiki</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://www.freewiki.eu/de/index.php?title=Modul:ISO15924/commons&amp;diff=5338&amp;oldid=prev</id>
		<title>Admin: 1 Version importiert</title>
		<link rel="alternate" type="text/html" href="https://www.freewiki.eu/de/index.php?title=Modul:ISO15924/commons&amp;diff=5338&amp;oldid=prev"/>
		<updated>2020-02-06T19:44:05Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version vom 6. Februar 2020, 19:44 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://www.freewiki.eu/de/index.php?title=Modul:ISO15924/commons&amp;diff=5337&amp;oldid=prev</id>
		<title>mo&gt;PerfektesChaos: 2019-11-12</title>
		<link rel="alternate" type="text/html" href="https://www.freewiki.eu/de/index.php?title=Modul:ISO15924/commons&amp;diff=5337&amp;oldid=prev"/>
		<updated>2019-11-12T14:08:48Z</updated>

		<summary type="html">&lt;p&gt;2019-11-12&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local ISO15924 = { suite  = &amp;quot;ISO15924&amp;quot;,&lt;br /&gt;
                   sub    = &amp;quot;commons&amp;quot;,&lt;br /&gt;
                   serial = &amp;quot;2019-11-12&amp;quot;,&lt;br /&gt;
                   item   = 71679535,&lt;br /&gt;
                   main   = 71584769 }&lt;br /&gt;
--[=[&lt;br /&gt;
Create ISO 15924 mw.loadData() table from commons:Data:&lt;br /&gt;
]=]&lt;br /&gt;
local Failsafe = ISO15924&lt;br /&gt;
local Fetch    = { }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.data = function ( access, assume )&lt;br /&gt;
    -- Retrieve one Data.tab element&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     access  -- string, with sub tab, or false&lt;br /&gt;
    --     assume  -- string, with expected structure type&lt;br /&gt;
    -- Returns: table&lt;br /&gt;
    local storage = ISO15924.suite&lt;br /&gt;
    local r = { }&lt;br /&gt;
    local data, lucky&lt;br /&gt;
    if access then&lt;br /&gt;
        storage = string.format( &amp;quot;%s/%s&amp;quot;, storage, access )&lt;br /&gt;
    end&lt;br /&gt;
    storage = storage .. &amp;quot;.tab&amp;quot;&lt;br /&gt;
    lucky, data = pcall( mw.ext.data.get, storage )&lt;br /&gt;
    if type( data ) == &amp;quot;table&amp;quot;  and&lt;br /&gt;
       type( data.data ) == &amp;quot;table&amp;quot;  and&lt;br /&gt;
       type( Fetch[ assume ] ) == &amp;quot;function&amp;quot; then&lt;br /&gt;
        local entry, sign, value&lt;br /&gt;
        data = data.data&lt;br /&gt;
        for i = 1, #data do&lt;br /&gt;
            entry = data[ i ]&lt;br /&gt;
            if type( entry ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
                sign, value = Fetch[ assume ]( entry )&lt;br /&gt;
                if sign then&lt;br /&gt;
                    r[ sign ] = value&lt;br /&gt;
                elseif value then&lt;br /&gt;
                    table.insert( r, value )&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end -- for i&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- Fetch.data()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.boolean = function ( achieved )&lt;br /&gt;
    -- Convert ext.data entry into assignment to boolean&lt;br /&gt;
    local r1 = achieved[ 1 ]&lt;br /&gt;
    local r2 = achieved[ 2 ]&lt;br /&gt;
    if not r2 then&lt;br /&gt;
        r1 = false&lt;br /&gt;
    end&lt;br /&gt;
    return r1, r2&lt;br /&gt;
end -- Fetch.boolean()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.ranges = function ( achieved )&lt;br /&gt;
    -- Convert ext.data entry into table of ranges or redirects&lt;br /&gt;
    local r = achieved[ 2 ]&lt;br /&gt;
    if r:sub( 1, 2 ) == &amp;quot;0x&amp;quot; then&lt;br /&gt;
        local ranges = mw.text.split( r, &amp;quot;%s*|%s*&amp;quot; )&lt;br /&gt;
        local range&lt;br /&gt;
        r = { }&lt;br /&gt;
        for i = 1, #ranges do&lt;br /&gt;
            range = mw.text.split( ranges[ i ], &amp;quot;%s+&amp;quot; )&lt;br /&gt;
            range = { tonumber( range[ 1 ] ),&lt;br /&gt;
                      tonumber( range[ 2 ] ) }&lt;br /&gt;
            table.insert( r, range )&lt;br /&gt;
        end -- for i&lt;br /&gt;
    else&lt;br /&gt;
        r = mw.text.split( r, &amp;quot;%s+&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
    return achieved[ 1 ], r&lt;br /&gt;
end -- Fetch.ranges()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.reverse = function ( achieved )&lt;br /&gt;
    -- Convert ext.data entry into table item with range and string table&lt;br /&gt;
    local iBeg   = tonumber( achieved[ 1 ], 16 )&lt;br /&gt;
    local iEnd   = tonumber( achieved[ 2 ], 16 )&lt;br /&gt;
    local permit = mw.text.split( achieved[ 3 ], &amp;quot;%s+&amp;quot; )&lt;br /&gt;
    return false,  { iBeg, iEnd, permit }&lt;br /&gt;
end -- Fetch.reverse()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.string = function ( achieved )&lt;br /&gt;
    -- Convert ext.data entry into assignment to string&lt;br /&gt;
    return achieved[ 1 ], achieved[ 2 ]&lt;br /&gt;
end -- Fetch.string()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.strings = function ( achieved )&lt;br /&gt;
    -- Convert ext.data entry into assignment to table of strings&lt;br /&gt;
    return achieved[ 1 ], mw.text.split( achieved[ 2 ], &amp;quot;%s+&amp;quot; )&lt;br /&gt;
end -- Fetch.strings()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.run = function ()&lt;br /&gt;
    -- Populate object with data&lt;br /&gt;
    -- Postcondition:&lt;br /&gt;
    --    ISO15924 expanded&lt;br /&gt;
    local tables = Fetch.data( false, &amp;quot;string&amp;quot; )&lt;br /&gt;
    for k, v in pairs( tables ) do&lt;br /&gt;
        ISO15924[ k ] = Fetch.data( k, v )&lt;br /&gt;
    end -- for k, v&lt;br /&gt;
end -- Fetch.run()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local fresh = function ()&lt;br /&gt;
    -- Check for global update&lt;br /&gt;
    -- Returns: true, if matching global version; false, if not&lt;br /&gt;
    -- 2019-10-15&lt;br /&gt;
    local r&lt;br /&gt;
    if type( Failsafe.item ) == &amp;quot;number&amp;quot;  and  Failsafe.item &amp;gt; 0 then&lt;br /&gt;
        local storage = string.format( &amp;quot;Q%d&amp;quot;, Failsafe.item )&lt;br /&gt;
        local entity  = mw.wikibase.getEntity( storage )&lt;br /&gt;
        if type( entity ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
            local seek = Failsafe.serialProperty or &amp;quot;P348&amp;quot;&lt;br /&gt;
            local vsn  = entity:formatPropertyValues( seek )&lt;br /&gt;
            if type( vsn ) == &amp;quot;table&amp;quot;  and&lt;br /&gt;
               vsn.value == Failsafe.serial then&lt;br /&gt;
                r = true&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r or false&lt;br /&gt;
end -- fresh()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fetch.run()&lt;br /&gt;
ISO15924.failsafe = ISO15924.serial&lt;br /&gt;
if mw.title.getCurrentTitle().namespace &amp;gt; 0 then&lt;br /&gt;
    ISO15924.last = fresh()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return ISO15924&lt;/div&gt;</summary>
		<author><name>mo&gt;PerfektesChaos</name></author>
		
	</entry>
</feed>