<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AFishRef%2FMSW</id>
	<title>Module:FishRef/MSW - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AFishRef%2FMSW"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:FishRef/MSW&amp;action=history"/>
	<updated>2026-06-14T05:45:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:FishRef/MSW&amp;diff=471721&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:FishRef/MSW&amp;diff=471721&amp;oldid=prev"/>
		<updated>2021-07-15T21:39:36Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local data = {}&lt;br /&gt;
&lt;br /&gt;
data.MSW3 = {&lt;br /&gt;
    citeTemplate = &amp;quot;Cite book&amp;quot;,&lt;br /&gt;
	citationArgs = {&lt;br /&gt;
		['editor1-last'] = &amp;quot;Wilson&amp;quot;, ['editor1-first'] = &amp;quot;D.E.&amp;quot;, ['editor1-link'] = &amp;quot;Don E. Wilson&amp;quot;,&lt;br /&gt;
		['editor2-last'] = &amp;quot;Reeder&amp;quot;, ['editor2-first'] = &amp;quot;D.M.&amp;quot;,&lt;br /&gt;
        year = 2005,&lt;br /&gt;
		title = &amp;quot;Mammal Species of the World: A Taxonomic and Geographic Reference&amp;quot;, &lt;br /&gt;
		&lt;br /&gt;
		edition = &amp;quot;3rd&amp;quot;,&lt;br /&gt;
        publisher =  &amp;quot;Johns Hopkins University Press&amp;quot;,&lt;br /&gt;
        isbn= &amp;quot;978-0-8018-8221-0&amp;quot;,&lt;br /&gt;
        oclc= &amp;quot;62265494&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	customArgs = { exclude=&amp;quot;order,family, taxon,id,1&amp;quot;,&lt;br /&gt;
	               baseURL = &amp;quot;http://www.departments.bucknell.edu/biology/resources/msw3/browse.asp&amp;quot;,&lt;br /&gt;
	               defaultTitle = &amp;quot;Mammal Species of the World: A Taxonomic and Geographic Reference&amp;quot;,&lt;br /&gt;
	               bookTitle = &amp;quot;redundant title&amp;quot;,&lt;br /&gt;
	               googleBooksURL = &amp;quot;http://www.google.com/books?id=JgAMbNSt8ikC&amp;amp;pg=PA&amp;quot;,&lt;br /&gt;
	               searchStr = &amp;quot;?id=&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
    chapters = {&lt;br /&gt;
    	Monotremata = {&lt;br /&gt;
    		id = 1030000,&lt;br /&gt;
    		last = &amp;quot;Groves&amp;quot;, first = &amp;quot;C.P.&amp;quot;, ['author-link'] = &amp;quot;Colin Groves&amp;quot;,&lt;br /&gt;
    		pages = &amp;quot;1–2&amp;quot;, page = 1,&lt;br /&gt;
    	},&lt;br /&gt;
        Didelphimorphia = {&lt;br /&gt;
        	id = 10400001,&lt;br /&gt;
            last = &amp;quot;Gardner&amp;quot;, first = &amp;quot;A.L.&amp;quot;,&lt;br /&gt;
            pages = &amp;quot;3-18&amp;quot;, page = 3,&lt;br /&gt;
        },&lt;br /&gt;
    	Paucituberculata = {&lt;br /&gt;
    		id = 10500001,&lt;br /&gt;
            last = &amp;quot;Gardner&amp;quot;, first = &amp;quot;A.L.&amp;quot;,&lt;br /&gt;
            pages = &amp;quot;19-20&amp;quot;, page = 19,&lt;br /&gt;
    	},&lt;br /&gt;
    	Microbiotheria = {&lt;br /&gt;
    		id = 10600001,},&lt;br /&gt;
            last = &amp;quot;Gardner&amp;quot;, first = &amp;quot;A.L.&amp;quot;,&lt;br /&gt;
            pages = &amp;quot;21&amp;quot;, page = 21,&lt;br /&gt;
	    Notoryctemorphia = {&lt;br /&gt;
	    	id = 10700001,&lt;br /&gt;
    		last = &amp;quot;Groves&amp;quot;, first = &amp;quot;C.P.&amp;quot;, ['author-link'] = &amp;quot;Colin Groves&amp;quot;,&lt;br /&gt;
    		pages = &amp;quot;22&amp;quot;, page = 22,&lt;br /&gt;
	    },&lt;br /&gt;
	    Dasyuromorphia = {&lt;br /&gt;
	    	id = 10800001,&lt;br /&gt;
    		last = &amp;quot;Groves&amp;quot;, first = &amp;quot;C.P.&amp;quot;, ['author-link'] = &amp;quot;Colin Groves&amp;quot;,&lt;br /&gt;
    		pages = &amp;quot;23-37&amp;quot;, page = 23,&lt;br /&gt;
	    },&lt;br /&gt;
	    Peramelemorphia = {&lt;br /&gt;
	    	id = 10900001,&lt;br /&gt;
    		last = &amp;quot;Groves&amp;quot;, first = &amp;quot;C.P.&amp;quot;, ['author-link'] = &amp;quot;Colin Groves&amp;quot;,&lt;br /&gt;
    		pages = &amp;quot;38-42&amp;quot;, page = 38,&lt;br /&gt;
	    },&lt;br /&gt;
	    Diprotodontia = {&lt;br /&gt;
	    	id = 11000001,&lt;br /&gt;
    		last = &amp;quot;Groves&amp;quot;, first = &amp;quot;C.P.&amp;quot;, ['author-link'] = &amp;quot;Colin Groves&amp;quot;,&lt;br /&gt;
    		pages = &amp;quot;43-70&amp;quot;, page = 43,&lt;br /&gt;
	    },&lt;br /&gt;
	    Afrosoricida = {&lt;br /&gt;
	    	id = 11100001,&lt;br /&gt;
	    	last = &amp;quot;Bronner&amp;quot;, first = &amp;quot;G.N.&amp;quot;,&lt;br /&gt;
	    	last2 = &amp;quot;Jenkins&amp;quot;, first2 = &amp;quot;P.D.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;71–81&amp;quot;, page = 71,&lt;br /&gt;
	    },&lt;br /&gt;
	    Macroscelidea = {&lt;br /&gt;
	    	id = 11200001,&lt;br /&gt;
	    	last = &amp;quot;Schlitter&amp;quot;, first = &amp;quot;D.A.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;82–85&amp;quot;, page = 82,&lt;br /&gt;
	    },&lt;br /&gt;
	    Tubulidentata = {&lt;br /&gt;
	    	id = 11300001,&lt;br /&gt;
	    	last = &amp;quot;Schlitter&amp;quot;, first = &amp;quot;D.A.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;86&amp;quot;, page = 86,&lt;br /&gt;
	    },&lt;br /&gt;
	    Hyracoidea = {&lt;br /&gt;
	    	id = 11400001,&lt;br /&gt;
	    	last = &amp;quot;Shoshani&amp;quot;, first = &amp;quot;J.&amp;quot;, ['author-link'] = &amp;quot;Jeheskel Shoshani&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;87-89&amp;quot;, page = 87,&lt;br /&gt;
	    },&lt;br /&gt;
	    Proboscidea = {&lt;br /&gt;
	    	id = 11500001,&lt;br /&gt;
	    	last = &amp;quot;Shoshani&amp;quot;, first = &amp;quot;J.&amp;quot;, ['author-link'] = &amp;quot;Jeheskel Shoshani&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;90-91&amp;quot;, page = 90,&lt;br /&gt;
	    },&lt;br /&gt;
	    Sirenia = {&lt;br /&gt;
	    	id = 11600001,&lt;br /&gt;
	    	last = &amp;quot;Shoshani&amp;quot;, first = &amp;quot;J.&amp;quot;, ['author-link'] = &amp;quot;Jeheskel Shoshani&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;92-93&amp;quot;, page = 92,&lt;br /&gt;
	    },&lt;br /&gt;
	    Cingulata = {&lt;br /&gt;
	    	id = 11700001,&lt;br /&gt;
            last = &amp;quot;Gardner&amp;quot;, first = &amp;quot;A.L.&amp;quot;,&lt;br /&gt;
            pages = &amp;quot;94-99&amp;quot;, page = 94,&lt;br /&gt;
	    	&lt;br /&gt;
	    },&lt;br /&gt;
    	Pilosa = {&lt;br /&gt;
    		id = 11800001,&lt;br /&gt;
            last = &amp;quot;Gardner&amp;quot;, first = &amp;quot;A.L.&amp;quot;,&lt;br /&gt;
            pages = &amp;quot;100-103&amp;quot;, page = 100,&lt;br /&gt;
    	},&lt;br /&gt;
	    Scandentia = {&lt;br /&gt;
	    	id = 11900001,&lt;br /&gt;
	    	last = &amp;quot;Helgen&amp;quot;, first = &amp;quot;K.M.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;104-109&amp;quot;, page = 104,&lt;br /&gt;
	    },&lt;br /&gt;
	    Dermoptera = {&lt;br /&gt;
	    	id = 12000001,&lt;br /&gt;
	    	last = &amp;quot;Stafford&amp;quot;, first = &amp;quot;B.J.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;104&amp;quot;, pages = 104,&lt;br /&gt;
	    },&lt;br /&gt;
	    Primates = {&lt;br /&gt;
	    	id = 12100001,&lt;br /&gt;
    		last = &amp;quot;Groves&amp;quot;, first = &amp;quot;C.P.&amp;quot;, ['author-link'] = &amp;quot;Colin Groves&amp;quot;,&lt;br /&gt;
    		pages = &amp;quot;111-184&amp;quot;, page = 111,&lt;br /&gt;
	    },&lt;br /&gt;
	    Rodentia = {&lt;br /&gt;
	    	id = 12200001,                        -- these increment by family   TODO&lt;br /&gt;
	    	--last = &amp;quot;Helgen&amp;quot;, first = &amp;quot;K.M.&amp;quot;,   -- various authors&lt;br /&gt;
	    	pages = &amp;quot;753-1600&amp;quot;,&lt;br /&gt;
	    },    &lt;br /&gt;
	    Lagomorpha = {&lt;br /&gt;
	    	id = 13500001,&lt;br /&gt;
	    	last = &amp;quot;Hoffman&amp;quot;, first = &amp;quot;R.S.&amp;quot;,&lt;br /&gt;
	    	last2 = &amp;quot;Smith&amp;quot;, first2 = &amp;quot;A.T.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;185–211&amp;quot;, page = 185,&lt;br /&gt;
	    },&lt;br /&gt;
	    Erinaceomorpha = {&lt;br /&gt;
	    	id = 13600001,&lt;br /&gt;
	        last = &amp;quot;Hutterer&amp;quot;, first = &amp;quot;R.&amp;quot;,&lt;br /&gt;
	        pages = &amp;quot;212–219&amp;quot;, page = 212,&lt;br /&gt;
	    },&lt;br /&gt;
	    Soricomorpha = {&lt;br /&gt;
	    	id = 13700001,&lt;br /&gt;
	        last = &amp;quot;Hutterer&amp;quot;, first = &amp;quot;R.&amp;quot;,&lt;br /&gt;
	        pages = &amp;quot;220–311&amp;quot;, page = 220,&lt;br /&gt;
	    },&lt;br /&gt;
	    Chiroptera = {&lt;br /&gt;
	    	id = 13800001,&lt;br /&gt;
	    	last = &amp;quot;Simmons&amp;quot;, first = &amp;quot;N.B.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;312–529&amp;quot;,&lt;br /&gt;
	    },&lt;br /&gt;
	    Pholidota = {&lt;br /&gt;
	    	id = 13900001,&lt;br /&gt;
	    	last = &amp;quot;Schlitter&amp;quot;, first = &amp;quot;D.A.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;530-531&amp;quot;, page = 530,&lt;br /&gt;
	    },&lt;br /&gt;
	    Carnivora = {&lt;br /&gt;
	    	id = 14000001,&lt;br /&gt;
	    	last = &amp;quot;Wozencraft&amp;quot;, first = &amp;quot;W.C.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;532–628&amp;quot;, page = 532,&lt;br /&gt;
	    },&lt;br /&gt;
	    Perissodactyla = {&lt;br /&gt;
	        id = 14100001,&lt;br /&gt;
	        last = &amp;quot;Grubb&amp;quot;, first = &amp;quot;P.&amp;quot;, ['author-link'] = &amp;quot;Peter Grubb (zoologist)&amp;quot;, &lt;br /&gt;
	        pages=&amp;quot;629–636&amp;quot;, page=629,&lt;br /&gt;
	    },&lt;br /&gt;
	    Artiodactyla = {&lt;br /&gt;
	        id = 14200001,&lt;br /&gt;
	        last = &amp;quot;Grubb&amp;quot;, first = &amp;quot;P.&amp;quot;, ['author-link'] = &amp;quot;Peter Grubb (zoologist)&amp;quot;, &lt;br /&gt;
	        pages = &amp;quot;645–646&amp;quot;, page =645,&lt;br /&gt;
	    },&lt;br /&gt;
	    Cetacea = {&lt;br /&gt;
	    	id = 14300001,&lt;br /&gt;
	    	last = &amp;quot;Mead&amp;quot;, first = &amp;quot;J.G.&amp;quot;,&lt;br /&gt;
	    	last2 = &amp;quot;Brownell&amp;quot;, first2 = &amp;quot;R. L. Jr.&amp;quot;,&lt;br /&gt;
	    	pages = &amp;quot;723–743&amp;quot;, page=723,&lt;br /&gt;
	    },&lt;br /&gt;
&lt;br /&gt;
    },   -- end orders&lt;br /&gt;
    rodents = {&lt;br /&gt;
    	Ctenodactylidae = {&lt;br /&gt;
    		id=13300001,&lt;br /&gt;
			last = &amp;quot;Dieterlen&amp;quot;, first = &amp;quot;F.&amp;quot;,&lt;br /&gt;
			pages = &amp;quot;1536–1537&amp;quot;, page= 1536,&lt;br /&gt;
		},&lt;br /&gt;
        Hystricognathi = {&lt;br /&gt;
	        id=13400001,&lt;br /&gt;
	        last = &amp;quot;Woods&amp;quot;, first = &amp;quot;C.A.&amp;quot;,&lt;br /&gt;
	        last2 = &amp;quot;Kilpatrick&amp;quot;, first2 = &amp;quot;C.W.&amp;quot;, &lt;br /&gt;
	        pages = &amp;quot;1538–1600&amp;quot;, page = 1538,&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
data.MSW3.id = function(id)&lt;br /&gt;
	local chapterParams = {}&lt;br /&gt;
	--local page = data.MSW3.chapters[order]['page']  -- page for google books&lt;br /&gt;
&lt;br /&gt;
	chapterParams['chapter'] = &amp;quot;Taxon ID: &amp;quot; .. id &lt;br /&gt;
	chapterParams['chapter-url'] = data.MSW3.customArgs['baseURL']  .. data.MSW3.customArgs['searchStr']  ..  id &lt;br /&gt;
	&lt;br /&gt;
	local url  = data.MSW3.customArgs['googleBooksURL'] --.. page &lt;br /&gt;
	local title = data.MSW3.customArgs['defaultTitle'] -- the book title&lt;br /&gt;
	chapterParams['title'] = title&lt;br /&gt;
	&lt;br /&gt;
	return title, url, chapterParams&lt;br /&gt;
end&lt;br /&gt;
data.MSW3.order = function(order)&lt;br /&gt;
	local chapterParams = data.MSW3.chapters[order]&lt;br /&gt;
	local id = data.MSW3.chapters[order]['id']         -- chapter parameters&lt;br /&gt;
    local page = data.MSW3.chapters[order]['page']&lt;br /&gt;
--	local pages = data.MSW3.chapters[order]['pages']&lt;br /&gt;
	&lt;br /&gt;
	chapterParams['chapter']  = &amp;quot;Order &amp;quot; .. order&lt;br /&gt;
	local title  = data.MSW3.CustomArgs['defaultTitle']&lt;br /&gt;
	chapterParams['title'] = title&lt;br /&gt;
    &lt;br /&gt;
	local url  = data.MSW3.customArgs['googleBooksURL'] .. tostring(page)&lt;br /&gt;
	chapterParams['chapter-url']  = data.MSW3.customArgs['baseURL']  .. data.MSW3.customArgs['searchStr']  ..  id&lt;br /&gt;
	chapterParams['url'] = url &lt;br /&gt;
	&lt;br /&gt;
	chapterParams.page=nil&lt;br /&gt;
	return title, url, chapterParams&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
data.MSW3_standalone = function(frame) &lt;br /&gt;
	&lt;br /&gt;
	local data = require('Module:FishRef/MSW')&lt;br /&gt;
	initialise(frame, data.MSW3)&lt;br /&gt;
    local url = target.customArgs['baseURL'] &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    if templateArgs['title'] and templateArgs['id'] then&lt;br /&gt;
    	templateArgs['chapter-url']= url .. target.customArgs['searchStr']  ..  templateArgs['id'] &lt;br /&gt;
    	templateArgs['chapter'] = templateArgs['title']&lt;br /&gt;
      &lt;br /&gt;
    	templateArgs['title'] = target.customArgs['bookTitle']&lt;br /&gt;
    	if templateArgs['page'] then&lt;br /&gt;
    		templateArgs['url'] = target.customArgs['googleBooksURL'] .. templateArgs['page'] &lt;br /&gt;
		else&lt;br /&gt;
   	        --return &amp;quot;Page number for google books required&amp;quot;&lt;br /&gt;
    	end&lt;br /&gt;
    elseif templateArgs['order'] then&lt;br /&gt;
    	templateArgs['chapter'] =  &amp;quot;Order &amp;quot; .. templateArgs['order']&lt;br /&gt;
    	local chapter = target.chapters[templateArgs['order']]&lt;br /&gt;
    	for k,v in pairs(chapter) do   -- add chapter specific parameters&lt;br /&gt;
    		templateArgs[k] = v &lt;br /&gt;
    	end&lt;br /&gt;
    	templateArgs['chapter-url']= url .. target.customArgs['searchStr']  ..  templateArgs['id']&lt;br /&gt;
    	templateArgs['url']= target.customArgs['googleBooksURL']  ..  templateArgs['page']&lt;br /&gt;
    	if templateArgs['pages'] and templateArgs['page'] then templateArgs['page'] = nil end&lt;br /&gt;
    else -- default output&lt;br /&gt;
    	templateArgs['url']= target.customArgs['googleBooksURL']  .. &amp;quot;1&amp;quot; -- default to book&lt;br /&gt;
    	templateArgs['url']= url &lt;br /&gt;
    end&lt;br /&gt;
    -- using cite book&lt;br /&gt;
	clearCustomArgs()--blank template parameters not for cite web&lt;br /&gt;
	return frame:expandTemplate{ title = 'cite book', args = templateArgs  }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
data.MSW3.main = function(frame, targs)&lt;br /&gt;
&lt;br /&gt;
    local customArgs = data.MSW3.customArgs&lt;br /&gt;
    &lt;br /&gt;
    local chapter = targs['title'] or targs['chapter']  -- custom title from template parameters&lt;br /&gt;
&lt;br /&gt;
    targs['title'] = customArgs ['defaultTitle'] -- the cite book title/work is always the default title&lt;br /&gt;
  &lt;br /&gt;
    if chapter and targs['id'] then&lt;br /&gt;
    	targs['chapter-url']= customArgs['baseURL'] .. customArgs['searchStr']  ..  targs['id'] &lt;br /&gt;
    	targs['chapter'] = chapter&lt;br /&gt;
    	if targs['page'] then &lt;br /&gt;
    		targs['url'] = customArgs['googleBooksURL'] .. targs['page'] &lt;br /&gt;
		else&lt;br /&gt;
   	        --return &amp;quot;Page number for google books required&amp;quot;&lt;br /&gt;
    	end&lt;br /&gt;
    	local order = targs['order']    -- get chapter author parameters&lt;br /&gt;
    	if order then&lt;br /&gt;
	    	local chapterArgs = data.MSW3.chapters[order]&lt;br /&gt;
	    	for k,v in pairs(chapterArgs) do   -- add chapter specific parameters&lt;br /&gt;
	    		if (k == 'page' or k == 'pages') and targs['page'] then&lt;br /&gt;
	    		    targs['pages'] = nil&lt;br /&gt;
	    		else&lt;br /&gt;
	    			targs[k] = v &lt;br /&gt;
	    		end&lt;br /&gt;
	    	end&lt;br /&gt;
    	end&lt;br /&gt;
    elseif targs['order'] then&lt;br /&gt;
     	local chapterArgs = data.MSW3.chapters[targs['order']]&lt;br /&gt;
    	for k,v in pairs(chapterArgs) do   -- add chapter specific parameters&lt;br /&gt;
    		targs[k] = v &lt;br /&gt;
    	end&lt;br /&gt;
     	targs['chapter'] =  &amp;quot;Order &amp;quot; .. targs['order']&lt;br /&gt;
    	targs['chapter-url']= customArgs['baseURL'] .. customArgs['searchStr']  ..  targs['id']&lt;br /&gt;
        targs['url'] = customArgs['googleBooksURL']  ..  targs['page']&lt;br /&gt;
    	if targs['pages'] and targs['page'] then targs['page'] = nil end&lt;br /&gt;
    else -- default output&lt;br /&gt;
    	targs['url'] = customArgs['baseURL'] .. data.MSW3.customArgs['searchStr']             -- default to web version&lt;br /&gt;
    	targs['url'] = customArgs['googleBooksURL']  .. &amp;quot;1&amp;quot;             -- default to book&lt;br /&gt;
    end    &lt;br /&gt;
 &lt;br /&gt;
    &lt;br /&gt;
    --clear stuff&lt;br /&gt;
    targs[1]=nil&lt;br /&gt;
    targs['order']=nil&lt;br /&gt;
    targs['id']=nil&lt;br /&gt;
    --return targs['title']&lt;br /&gt;
    --  use template:cite book&lt;br /&gt;
	return frame:expandTemplate{ title = data.MSW3.citeTemplate, args = targs  }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return data&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>