<?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%3ANaval_Vessel_Register_URL%2Fdata_extraction_tool</id>
	<title>Module:Naval Vessel Register URL/data extraction tool - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ANaval_Vessel_Register_URL%2Fdata_extraction_tool"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Naval_Vessel_Register_URL/data_extraction_tool&amp;action=history"/>
	<updated>2026-06-18T02:08:44Z</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:Naval_Vessel_Register_URL/data_extraction_tool&amp;diff=478780&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:Naval_Vessel_Register_URL/data_extraction_tool&amp;diff=478780&amp;oldid=prev"/>
		<updated>2021-07-16T05:04:06Z</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;p = {}&lt;br /&gt;
&lt;br /&gt;
--[[-------------------------&amp;lt; N A M E _ C A S E &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Make mixed case names from uppercase names: HARRY L GLUCKSMAN to Harry L Glucksman &lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function name_case (name)&lt;br /&gt;
	local s =  mw.text.trim (name or '');										-- no leading or trailing white space&lt;br /&gt;
	local words = mw.text.split (s, ' ');										-- split the name at the spaces it there are any&lt;br /&gt;
	for i, s in ipairs (words) do												-- for each 'word' of the name&lt;br /&gt;
		s = string.lower (s)													-- make it lowercase&lt;br /&gt;
		words[i] = mw.getContentLanguage():ucfirst(s);							-- then uppercase the the first character&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	s = table.concat (words, ' ');												-- put the name back together&lt;br /&gt;
	words = mw.text.split (s, '\'');											-- now handle apostrophes if any (O'Brien, etc)&lt;br /&gt;
	for i, s in ipairs (words) do&lt;br /&gt;
		words[i] = mw.getContentLanguage():ucfirst(s);&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat (words, '\\\'');										-- put the name back together and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------&amp;lt; N V R _ E X T R A C T &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.nvr_extract (frame)&lt;br /&gt;
	local page = mw.title.getCurrentTitle();									-- get a page object for this page&lt;br /&gt;
	local content = page:getContent();											-- get unparsed content&lt;br /&gt;
	local out_table = {};														-- output goes here&lt;br /&gt;
	local group;																-- identify this collection of hull numbers&lt;br /&gt;
																				-- search for nvr links and associated hull numbers&lt;br /&gt;
&lt;br /&gt;
	for id, ltr, num, name in mw.ustring.gmatch (content, 'SHIPSDETAIL_([^%.]+)%.HTML\&amp;quot;&amp;gt;([%a%- %(%)]+)%s+(%d+).-_NameLink_%d\&amp;quot;&amp;gt;([^&amp;lt;]+)') do&lt;br /&gt;
		table.insert (out_table, &amp;quot;[\'&amp;quot; .. ltr .. &amp;quot;-&amp;quot; .. num ..&amp;quot;\'] = {\'&amp;quot; .. id .. &amp;quot;\', \'&amp;quot; .. name_case (name) .. &amp;quot;\'}&amp;quot;);	-- make table entries in wp hull number format&lt;br /&gt;
		group = ltr:gsub ('T%-(.+)', '%1');										-- because ltr is local to the for loop; also strip off the 'T-' prefix&lt;br /&gt;
	end&lt;br /&gt;
																				-- make pretty output&lt;br /&gt;
	return &amp;quot;&amp;lt;br /&amp;gt;&amp;lt;pre&amp;gt;&amp;amp;#9;[\'&amp;quot; .. group .. &amp;quot;\'] = &amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;{&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;&amp;quot; .. table.concat (out_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;},&amp;lt;br /&amp;gt;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>