Module:Rivals.com recruit url

-- 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 webname[t] then return 'http://' .. t .. '.rivals.com/commitments/' .. sport .. '/' .. y	else local sn = searchname[t] 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