Dota 2 Wiki

你现在尚未登录,许多功能可能无法正常使用,若已有账号,请登录,若没有,请先注册Twitch账号
目前我们有非常多的待翻译条目,你也可以看一下目前我们需要优先处理的有哪些目前我们有非常多的待翻译条目,你也可以看一下目前我们需要优先处理的有哪些英雄页面的攻略、克制和物品页面的推荐英雄、小贴士等均为社区玩家编写的,你也可以把自己的心得写上去哦。英雄页面的攻略、克制和物品页面的推荐英雄、小贴士等均为社区玩家编写的,你也可以把自己的心得写上去哦。看不懂技能的buff/debuff是哪个跟哪个?鼠标移动到名称上就能看到游戏内显示的名字和描述了。看不懂技能的buff/debuff是哪个跟哪个?鼠标移动到名称上就能看到游戏内显示的名字和描述了。目前我們沒有善於製作其他中文變體的人員,如果您善於或擁有相關技術,請幫忙補充其他中文變體的空白。目前我們沒有善於製作其他中文變體的人員,如果您善於或擁有相關技術,請幫忙補充其他中文變體的空白。

了解更多

Dota 2 Wiki
Advertisement

This module provides a "safe" version of mw.title's .fileExists method, that does not raise an error when the expensive parser function limit is exceeded.

Usage[]

local fileExists = require('Module:FileExists')

-- ...

local file
if fileExists('File:My example file.png') then
  file = 'File:My example file.png'
end



local checkType = require( 'libraryUtil' ).checkType

-- Check if a file exists on the wiki. Will fail if the expensive parser function
-- limit is exceeded.
--
-- @param string fileName
-- @return boolean
local function scribuntoCheck( fileName )
  local file = mw.title.new( fileName )
  return file.fileExists
end

-- Use Cargo as a fallback to check if a file exists.
--
-- @param string fileName
-- @return boolean
local function cargoCheck( fileName )
  local cargoData = mw.ext.cargo.query( '_pageData', '_pageID', {
    where = string.format( '_pageName="%s"', fileName )
  } )
  return ( #cargoData ~= 0 )
end

return function ( fileName )
  checkType( 'fileExists', 1, fileName, 'string' )

  local success, result = pcall( scribuntoCheck, fileName )
  if not success then
    result = cargoCheck( fileName )
  end

  return result
end
Advertisement