Module:File

local f = {}

function f.main(frame) local result = {} local game = frame.args["game"] or "" local description = frame.args["description"] or "" local type = mw.ustring.lower(frame.args["type"] or "") local meta = mw.ustring.lower(frame.args["meta"] or "") local user = frame.args["user"] or "" local source = frame.args["source"] or nil local license = frame.args["license"] or nil function TEXT(X) local alternalog = "Alterna Log" local artwork = "Artwork" local audio = "Audio" local animated = "Animated image" local music = "Music" local boxart = "Box artwork" local barnsquid = "Barnsquid" local brandlogo = "Brand logo" local control = "Controller button" local characterrender = "Character render" local characterart = "Character artwork" local clothingicon = "Clothing icon" local creditsartwork = "Credits artwork" local diagram = "Diagram" local gearcloseup = "Gear close-up" local gearpromo = "Gear promo" local headgearicon = "Headgear icon" local icon = "Icon" local logo = "Logo" local lockericon = "Locker icon" local line = "LINE sticker" local map = "Map" local memcake = "Mem cake" local miiverse = "Miiverse post" local model = "Model" local merch = "Merchandise" local promotional = "Promotional image" local photo = "Real-world photo" local prerelease = "Pre-release image" local pccu = "Player customization close-ups" local rating = "Rating icon" local render = "Render" local trailerscreenshot = "Trailer screenshot" local screenshot = "Screenshot" local shoeicon = "Shoe icon" local stageicon = "Stage icon" local stagemap = "Stage map" local sprite = "Sprite" local splashtag = "Splashtag banner" local sunkenscroll = "Sunken scroll" local splatfestart = "Splatfest artwork" local splatfestwin = "Splatfest win screen" local splatfestpromo = "Splatfest promotional image" local system = "System images" local user = "This file is a personal file belonging to User:".. user .."." local video = "Video" local wallpaper = "Wallpaper" local weaponrender = "Weapon render" local weaponartwork = "Weapon artwork" local weaponicon = "Weapon icon" local wiki = "Inkipedia image" local none = " Error: Invalid type entered, please consult the list of types." local t = {} t = { ['2d'] = artwork, ['2dart'] = artwork, ['2d art'] = artwork, ['2d artwork'] = artwork, ['art'] = artwork, ['artwork'] = artwork, ['art work'] = artwork, ['3d'] = render, ['3dart'] = render, ['3d art'] = render, ['3d artwork'] = render, ['render'] = render, ['rendering'] = render,

['alternalog'] = alternalog, ['alterna log'] = alternalog, ['al'] = alternalog, ['anim'] = animated, ['animated'] = animated, ['animation'] = animated, ['animated image'] = animated, ['animated images'] = animated, ['animated img'] = animated, ['gif'] = animated, ['music'] = music, ['song'] = music, ['songs'] = music,

['audio'] = audio, ['sound'] = audio, ['voice clip'] = audio, ['voice'] = audio, ['box'] = boxart, ['boxart'] = boxart, ['boxartwork'] = boxart, ['box art'] = boxart, ['box artwork'] = boxart,

['barnsquid'] = barnsquid, ['barn squid'] = barnsquid, ['award'] = barnsquid,

['brandlogo'] = brandlogo, ['brand logo'] = brandlogo, ['bl'] = brandlogo, ['button'] = control, ['buttons'] = control, ['control'] = control, ['controller'] = control, ['controller button'] = control, ['joystick'] = control,

['characterrender'] = characterrender, ['character render'] = characterrender, ['cr'] = characterrender,

['characterart'] = characterart, ['characterartwork'] = characterart, ['character art'] = characterart, ['character artwork'] = characterart, ['charart'] = characterart,

['clothingicon'] = clothingicon, ['clothing icon'] = clothingicon, ['ci'] = clothingicon,

['creditsartwork'] = creditsartwork, ['creditsart'] = creditsartwork, ['credits artwork'] = creditsartwork, ['credits art'] = creditsartwork, ['credart'] = creditsartwork,

['diagram'] = diagram, ['graph'] = diagram, ['graphs'] = diagram, ['chart'] = diagram,

['gearcloseup'] = gearcloseup, ['gear close up'] = gearcloseup, ['gear close-up'] = gearcloseup, ['gear closeup'] = gearcloseup, ['gc'] = gearcloseup, ['gear'] = gearcloseup,

['gearpromo'] = gearpromo, ['gear promo'] = gearpromo, ['gear promotional'] = gearpromo, ['gp'] = gearpromo,

['headgearicon'] = headgearicon, ['headgear icon'] = headgearicon, ['hi'] = headgearicon, ['ico'] = icon, ['icon'] = icon, ['icons'] = icon, ['logo'] = logo, ['logomark'] = logo, ['logos'] = logo, ['logotype'] = logo, ['wordmark'] = logo, ['map'] = map, ['maps'] = map,

['lockericon'] = lockericon, ['locker icon'] = lockericon, ['locker'] = lockericon,

['memcake'] = memcake, ['mem cake'] = memcake,

['miiverse'] = miiverse,

['line'] = line, ['LINE'] = line, ['line sticker'] = line, ['3dmodel'] = model, ['3d model'] = model, ['model'] = model, ['models'] = model,

['merch'] = merch, ['merchandise'] = merch, ['toy'] = merch, ['photo'] = photo, ['photos'] = photo, ['photography'] = photo, ['reallife'] = photo, ['real life'] = photo,

['promotional'] = promotional, ['promo'] = promotional, ['advertisement'] = promotional, ['ad'] = promotional,

['prerelease'] = prerelease, ['pre-release'] = prerelease, ['p-r'] = prerelease, ['beta'] = prerelease,

['pccu'] = pccu, ['player customization'] = pccu, ['player customization close up'] = pccu, ['player customization close-up'] = pccu, ['inkling customization'] = pccu, ['cero'] = rating, ['esrb'] = rating, ['pegi'] = rating, ['rating'] = rating, ['ratings'] = rating, ['prtscr'] = screenshot, ['printscreen'] = screenshot, ['print screen'] = screenshot, ['scr'] = screenshot, ['screen'] = screenshot, ['screenshot'] = screenshot, ['scrshot'] = screenshot, ['screen shot'] = screenshot,

['trailerscreenshot'] = trailerscreenshot, ['trailer screenshot'] = trailerscreenshot, ['pixelart'] = sprite, ['pixel art'] = sprite, ['sprite'] = sprite, ['sprites'] = sprite, ['sys'] = system, ['sysimg'] = system, ['system'] = system, ['system image'] = system, ['system images'] = system,

['shoeicon'] = shoeicon, ['shoe icon'] = shoeicon,

['stageicon'] = stageicon, ['stage icon'] = stageicon,

['stagemap'] = stagemap, ['stage map'] = stagemap,

['splashtag'] = splashtag, ['splashtag banner'] = splashtag,

['sunkenscroll'] = sunkenscroll, ['sunken scroll'] = sunkenscroll,

['splatfestart'] = splastfestart, ['splatfest art'] = splatfestart, ['splatfest artwork'] = splatfestart, ['splatfestartwork'] = splatfestart, ['sa'] = splatfestart,

['splatfestwin'] = splatfestwin, ['splatfest win'] = splatfestwin, ['splatfest victory'] = splatfestwin, ['splatfest winner'] = splatfestwin, ['sw'] = splatfestwin,

['personal'] = user, ['personal img'] = user, ['personal image'] = user, ['user'] = user, ['userimg'] = user, ['user image'] = user, ['video'] = video, ['videos'] = video, ['inkipedia'] = wiki, ['wiki'] = wiki,

['wallpaper'] = wallpaper, ['wall paper'] = wallpaper, ['screensaver'] = wallpaper, ['background'] = wallpaper,

['weaponrender'] = weaponrender, ['weapon render'] = weaponrender, ['weapon model'] = weaponrender,

['weaponartwork'] = weaponartwork, ['weaponart'] = weaponartwork, ['weapon art'] = weaponartwork, ['weapon artwork'] = weaponartwork,

['weaponicon'] = weaponicon, ['weapon icon'] = weaponicon, }		if not t[X] then return none else return t[X] end end function CAT(X,Y) if Y == true then Y = game .. ' ' else Y = "" end local artwork = "" local alternalog = "" local animated = "" local music = "" local audio = "" local boxart = "" local barnsquid = "" local brandlogo = "" local control = "" local clothingicon = "" local characterart = "" local creditsartwork = "" local diagram = "" local gearpromo = "" local gearcloseup = "" local icon = "" local logo = "" local lockericon = "" local line = "" local miiverse = "" local memcake = "" local map = "" local model = "" local merchandise = "" local promotional = "" local prerelease = "" local photo = "" local pccu = "" local rating = "" local screenshot = "" local shoeicon = "" local stageicon = "" local stagemap = "" local sprite = "" local system = "" local splashtag = "" local sunkenscroll = "" local splatfestart = "" local splatfestwin = "" local splatfestpromo = "" local user = "" local video = "" local wiki = "" local weaponrender = "" local wallpaper = "" local weaponartwork = "" local weaponicon = "" local none = "" local t = {} t = { ['2d'] = artwork, ['2dart'] = artwork, ['2d art'] = artwork, ['2d artwork'] = artwork, ['art'] = artwork, ['artwork'] = artwork, ['art work'] = artwork, ['3d'] = render, ['3dart'] = render, ['3d art'] = render, ['3d artwork'] = render, ['render'] = render, ['rendering'] = render,

['alternalog'] = alternalog, ['alterna log'] = alternalog, ['al'] = alternalog, ['anim'] = animated, ['animated'] = animated, ['animation'] = animated, ['animated image'] = animated, ['animated images'] = animated, ['animated img'] = animated, ['gif'] = animated, ['music'] = music, ['song'] = music, ['songs'] = music,

['audio'] = audio, ['sound'] = audio, ['voice clip'] = audio, ['voice'] = audio, ['box'] = boxart, ['boxart'] = boxart, ['boxartwork'] = boxart, ['box art'] = boxart, ['box artwork'] = boxart,

['barnsquid'] = barnsquid, ['barn squid'] = barnsquid, ['award'] = barnsquid,

['brandlogo'] = brandlogo, ['brand logo'] = brandlogo, ['bl'] = brandlogo, ['button'] = control, ['buttons'] = control, ['control'] = control, ['controller'] = control, ['controller button'] = control, ['joystick'] = control,

['characterrender'] = characterrender, ['character render'] = characterrender, ['cr'] = characterrender,

['characterart'] = characterart, ['characterartwork'] = characterart, ['character art'] = characterart, ['character artwork'] = characterart, ['charart'] = characterart,

['clothingicon'] = clothingicon, ['clothing icon'] = clothingicon, ['ci'] = clothingicon,

['creditsartwork'] = creditsartwork, ['creditsart'] = creditsartwork, ['credits artwork'] = creditsartwork, ['credits art'] = creditsartwork, ['credart'] = creditsartwork,

['diagram'] = diagram, ['graph'] = diagram, ['graphs'] = diagram, ['chart'] = diagram,

['gearcloseup'] = gearcloseup, ['gear close up'] = gearcloseup, ['gear close-up'] = gearcloseup, ['gear closeup'] = gearcloseup, ['gc'] = gearcloseup, ['gear'] = gearcloseup,

['gearpromo'] = gearpromo, ['gear promo'] = gearpromo, ['gear promotional'] = gearpromo, ['gp'] = gearpromo,

['headgearicon'] = headgearicon, ['headgear icon'] = headgearicon, ['hi'] = headgearicon, ['ico'] = icon, ['icon'] = icon, ['icons'] = icons, ['logo'] = logo, ['logomark'] = logo, ['logos'] = logo, ['logotype'] = logo, ['wordmark'] = logo, ['map'] = map, ['maps'] = map,

['lockericon'] = lockericon, ['locker icon'] = lockericon, ['locker'] = lockericon,

['memcake'] = memcake, ['mem cake'] = memcake,

['miiverse'] = miiverse,

['line'] = line, ['LINE'] = line, ['line sticker'] = line, ['3dmodel'] = model, ['3d model'] = model, ['model'] = model, ['models'] = model,

['merch'] = merch, ['merchandise'] = merch, ['toy'] = merch, ['photo'] = photo, ['photos'] = photo, ['photography'] = photo, ['reallife'] = photo, ['real life'] = photo,

['promotional'] = promotional, ['promo'] = promotional, ['advertisement'] = promotional, ['ad'] = promotional,

['prerelease'] = prerelease, ['pre-release'] = prerelease, ['p-r'] = prerelease, ['beta'] = prerelease,

['pccu'] = pccu, ['player customization'] = pccu, ['player customization close up'] = pccu, ['player customization close-up'] = pccu, ['inkling customization'] = pccu, ['cero'] = rating, ['esrb'] = rating, ['pegi'] = rating, ['rating'] = rating, ['ratings'] = rating, ['prtscr'] = screenshot, ['printscreen'] = screenshot, ['print screen'] = screenshot, ['scr'] = screenshot, ['screen'] = screenshot, ['screenshot'] = screenshot, ['scrshot'] = screenshot, ['screen shot'] = screenshot,

['trailerscreenshot'] = trailerscreenshot, ['trailer screenshot'] = trailerscreenshot, ['pixelart'] = sprite, ['pixel art'] = sprite, ['sprite'] = sprite, ['sprites'] = sprite, ['sys'] = system, ['sysimg'] = system, ['system'] = system, ['system image'] = system, ['system images'] = system,

['shoeicon'] = shoeicon, ['shoe icon'] = shoeicon,

['stageicon'] = stageicon, ['stage icon'] = stageicon,

['stagemap'] = stagemap, ['stage map'] = stagemap,

['splashtag'] = splashtag, ['splashtag banner'] = splashtag,

['sunkenscroll'] = sunkenscroll, ['sunken scroll'] = sunkenscroll,

['splatfestart'] = splastfestart, ['splatfest art'] = splatfestart, ['splatfest artwork'] = splatfestart, ['splatfestartwork'] = splatfestart, ['sa'] = splatfestart,

['splatfestwin'] = splatfestwin, ['splatfest win'] = splatfestwin, ['splatfest victory'] = splatfestwin, ['splatfest winner'] = splatfestwin, ['sw'] = splatfestwin,

['personal'] = user, ['personal img'] = user, ['personal image'] = user, ['user'] = user, ['userimg'] = user, ['user image'] = user, ['video'] = video, ['videos'] = video, ['inkipedia'] = wiki, ['wiki'] = wiki,

['wallpaper'] = wallpaper, ['wall paper'] = wallpaper, ['screensaver'] = wallpaper, ['background'] = wallpaper,

['weaponrender'] = weaponrender, ['weapon render'] = weaponrender, ['weapon model'] = weaponrender,

['weaponartwork'] = weaponartwork, ['weaponart'] = weaponartwork, ['weapon art'] = weaponartwork, ['weapon artwork'] = weaponartwork,

['weaponicon'] = weaponicon, ['weapon icon'] = weaponicon, }

if not t[X] then return none else return t[X] end end function SRC(X) local myself = "Media created by the uploader" local user2 = "Media created by ".. user .."" local fandom = "FANDOM image " local youtube = "YouTube image " local presskit = "Press kit image " local missing = " This file is missing a source. " local t = {} t = { ['me'] = myself, ['my'] = myself, ['myself'] = myself, ['self'] = myself,

['other'] = user2, ['someone'] = user2, ['someone else'] = user2, ['user'] = user2, ['gamepedia'] = fandom, ['fandom'] = fandom, ['wikia'] = fandom, ['youtube'] = youtube, ['yt'] = youtube, ['kit'] = presskit, ['press'] = presskit, ['presskit'] = presskit, ['press kit'] = presskit, }		if source and source ~= "" then if not t[X] then return X			else return t[X] end else return missing end end function LIC(X) local ccbysa10 = "This file is distributed under the Creative Commons Attribution-ShareAlike 1.0 license." local ccby20 = "This file is distributed under the Creative Commons Attribution 2.0 license." local ccbysa21jp = "This file is distributed under the Creative Commons Attribution-ShareAlike 2.1 Japan license." local ccby25 = "This file is distributed under the Creative Commons Attribution 2.5 license." local ccbysa25 = "This file is distributed under the Creative Commons Attribution-ShareAlike 2.5 license." local ccby30 = "This file is distributed under the Creative Commons Attribution 3.0 license." local ccbysa30 = "This file is distributed under the Creative Commons Attribution-ShareAlike 3.0 license." local ccbysa40 = "This file is distributed under the Creative Commons Attribution-ShareAlike 4.0 license." local pd = "This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide." local pds = "This file has been released into the public domain by the uploading user. This applies worldwide." local fairuse = "This file is subject to copyright. Copyright is most likely held by the company that published the game or the media portrayed. Inkipedia's use of this work qualifies as fair use under United States copyright law, or the author's permission is given. It is used on the wiki only in the belief that the information the file portrays is designed to be an accompaniment to playing the game or media, and its use here will not:Detract from the experience of playing the game or using the media in question.Harm the author's sales or reputation." local t = {} t = { ['ccbysa10'] = ccbysa10, ['ccybysa1.0'] = ccbysa10, ['cc by sa 1.0'] = ccbysa10, ['cc-by-sa-1.0'] = ccbysa10, ['cc-by-sa 1.0'] = ccbysa10, ['ccby20'] = ccby20, ['ccyby2.0'] = ccby20, ['cc by 2.0'] = ccby20, ['cc-by-2.0'] = ccby20, ['cc-by 2.0'] = ccby20, ['ccbysa21jp'] = ccbysa21jp, ['ccybysa2.1jp'] = ccbysa21jp, ['cc by sa 2.1 jp'] = ccbysa21jp, ['cc-by-sa-2.1 jp'] = ccbysa21jp, ['cc-by-sa 2.1 jp'] = ccbysa21jp, ['cc-by-sa 2.1 japan'] = ccbysa21jp, ['ccby25'] = ccby25, ['ccyby2.5'] = ccby25, ['cc by 2.5'] = ccby25, ['cc-by-2.5'] = ccby25, ['cc-by-2.5'] = ccby25, ['ccbysa25'] = ccbysa25, ['ccybysa2.5'] = ccbysa25, ['cc by sa 2.5'] = ccbysa25, ['cc-by-sa-2.5'] = ccbysa25, ['cc-by-sa 2.5'] = ccbysa25, ['ccby30'] = ccbysa30, ['ccyby3.0'] = ccby30, ['cc by 3.0'] = ccby30, ['cc-by-3.0'] = ccby30, ['cc-by-3.0'] = ccby30, ['ccbysa30'] = ccbysa30, ['ccybysa3.0'] = ccbysa30, ['cc by sa 3.0'] = ccbysa30, ['cc-by-sa-3.0'] = ccbysa30, ['cc-by-sa 3.0'] = ccbysa30, ['ccbysa40'] = ccbysa40, ['ccybysa4.0'] = ccbysa40, ['cc by sa 4.0'] = ccbysa40, ['cc-by-sa-4.0'] = ccbysa40, ['cc-by-sa 4.0'] = ccbysa40, ['pd'] = pd, ['public'] = pd, ['publicdomain'] = pd, ['public domain'] = pd, ['pds'] = pds, ['publicself'] = pds, ['publicdomain self'] = pds, ['public domain self'] = pds, ['public domain by myself'] = pds, } if not t[X] then return fairuse else return t[X] end end local panel_type = "" local panel_meta = ""

if not type or type == "" then type = {} else type = mw.text.split(type, ',%s*') for i = 1, #type do type[i] = TEXT(type[i]) .. CAT(type[i],true) end if #type > 4 then panel_type = ' Type(s) Way too many types! Try using up to 4 types max. '		else panel_type = ' Type(s)  '.. table.concat(type,", ") ..' ' end end if not meta or meta == "" then meta = {} else meta = mw.text.split(meta, ',%s*') for i = 1, #meta do meta[i] = TEXT(meta[i]) .. CAT(meta[i],false) end if #meta > 4 then panel_meta = ' Type(s) Way too many types! Try using up to 4 types max. '		else panel_meta = ' Type(s)  '.. table.concat(meta,", ") ..' ' end end local panel_game = ' Game  '.. game ..'  ' local panel_description = ' Description  '.. description ..' ' local panel_user = ' User  '.. user ..'  ' local panel_source = ' Source  '.. SRC(source) ..' ' local panel_license = ' License  '.. LIC(license) ..' ' if game == "" then panel_game = "" end if description == "" then panel_description = "" end if user == "" then panel_user = "" end local panel = ' ' table.insert(result, panel) return table.concat(result, "") end

return f