This module forms a rivals.com URL for Template:College athlete recruit end
-- This module forms a rivals.com URL for [[Template:College athlete recruit end]]
local p = {}
-- Known schools with dedicated URLs
local webname = {
'alabama' = 1,
'arizona' = 1,
'arizonastate' = 1,
'arkansas' = 1,
'arkansasstate' = 1,
'auburn' = 1,
'baylor' = 1,
'boisestate' = 1,
'bostoncollege' = 1,
'bwi' = 1,
'byu' = 1,
'cal' = 1,
'centralmichigan' = 1,
'charlotte' = 1,
'clemson' = 1,
'colorado' = 1,
'coloradostate' = 1,
'connecticut' = 1,
'depaul' = 1,
'duke' = 1,
'duquesne' = 1,
'eastcarolina' = 1,
'florida' = 1,
'floridastate' = 1,
'fresnostate' = 1,
'georgetown' = 1,
'georgiatech' = 1,
'houston' = 1,
'illinois' = 1,
'indiana' = 1,
'iowa' = 1,
'iowastate' = 1,
'kansas' = 1,
'kansasstate' = 1,
'kentstate' = 1,
'kentucky' = 1,
'louisville' = 1,
'lsu' = 1,
'maryland' = 1,
'memphis' = 1,
'miami' = 1,
'michigan' = 1,
'michiganstate' = 1,
'minnesota' = 1,
'mississippistate' = 1,
'missouri' = 1,
'ncstate' = 1,
'nebraska' = 1,
'nevada' = 1,
'newmexico' = 1,
'northcarolina' = 1,
'northtexas' = 1,
'northwestern' = 1,
'notredame' = 1,
'ohiostate' = 1,
'oklahoma' = 1,
'oklahomastate' = 1,
'olemiss' = 1,
'oregon' = 1,
'oregonstate' = 1,
'pittsburgh' = 1,
'purdue' = 1,
'richmond' = 1,
'rutgers' = 1,
'sandiegostate' = 1,
'smu' = 1,
'southcarolina' = 1,
'stanford' = 1,
'syracuse' = 1,
'tamu' = 1,
'tcu' = 1,
'temple' = 1,
'tennessee' = 1,
'texas' = 1,
'texasstate' = 1,
'texastech' = 1,
'toledo' = 1,
'tulane' = 1,
'tulsa' = 1,
'ucf' = 1,
'ucla' = 1,
'uga' = 1,
'unlv' = 1,
'usc' = 1,
'usf' = 1,
'utah' = 1,
'utsa' = 1,
'vanderbilt' = 1,
'villanova' = 1,
'virginia' = 1,
'virginiatech' = 1,
'wakeforest' = 1,
'washington' = 1,
'washingtonstate' = 1,
'westernmichigan' = 1,
'westvirginia' = 1,
'wisconsin' = 1,
'wku' = 1,
'wyoming' = 1
}
-- Known schools without dedicated urls or simple search strings
local searchname = {
'airforce' = 'Air%2520Force',
'bowlinggreen' = 'Bowling%2520Green',
'calpoly' = 'Cal%2520Poly',
'easternmichigan' = 'Eastern%2520Michigan',
'floridagulfcoast' = 'Florida%2520Gulf%2520Coast',
'louisianalafayette' = 'Louisiana-Lafayette',
'louisianatech' = 'Louisiana%2520Tech',
'loyolamarymount' = 'Loyola%2520Marymount',
'miamioh' = 'Miami%2520(OH)',
'northernillinois' = 'Northern%2520Illinois',
'saintmarys' = 'Saint%2520Mary\'s',
'sandiego' = 'San%2520Diego',
'sanfrancisco' = 'San%2520Francisco',
'sanjosestate' = 'San%2520Jose%2520State',
'santaclara' = 'Santa%2520Clara',
'southernillinois' = 'Southern%2520Illinois',
'stephenfaustin' = 'Stephen%2520F.%2520Austin',
'stfrancisbrooklyn' = 'St.%2520Francis%2520(NY)',
'vcu' = 'Virginia%2520Commonwealth'
}
local function ucfirst(ta)
local t1 = mw.ustring.gsub( ta, '^(%w)(.*)$', '%1' ) or ''
local t2 = mw.ustring.gsub( ta, '^(%w)(.*)$', '%2' ) or ta
return t1:upper() .. t2
end
function p.url(frame)
local t = (frame.args'team' or ''):lower()
local y = tonumber(frame.args'year' or '') or ''
local sport = frame.args'sport' or 'football'
if webnamet then
return 'http://' .. t .. '.rivals.com/commitments/' .. sport .. '/' .. y
else
local sn = searchnamet or ucfirst(t)
sn = mw.ustring.gsub( sn, '([a-z])state$', '%1%%2520State')
return 'https://n.rivals.com/search#?formValues=%257B%2522sport%2522:%2522' .. (sport == 'basketball' and 'Basketball' or 'Football')
.. '%2522,%2522recruit_year%2522:' .. y
.. ',%2522college.common_name%2522:%255B%2522' .. sn
.. '%2522%255D,%2522page_number%2522:1,%2522position_group.abbreviation%2522:%2522%2522,%2522'
.. 'position.abbreviation%2522:%2522%2522,%2522'
.. 'status%2522:%255B%2522signed%2522,%2522verbal%2522%255D%257D'
end
end
return p