Jump to content
Toggle menu
  • 8 articles
  • 75 files
  • 7 users
  • 37.8K edits
Neodyland Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:File/doc: Difference between revisions

From Neodyland Wiki
Line 7: Line 7:
=== From Wikitext ===
=== From Wikitext ===
Search ({{key press|Ctrl|F}}) for <code>@exports</code>.
Search ({{key press|Ctrl|F}}) for <code>@exports</code>.
:Examples:
: Examples:
::<code><nowiki>{{#invoke:File|woExtension|file=File:Test.C.JpeG}}</nowiki></code> → <code>{{#invoke:File|woExtension|file=File:Test.C.JpeG}}</code>
::<code><nowiki>{{#invoke:File|woExtension|file=File:Test.C.JpeG}}</nowiki></code> → <code>{{#invoke:File|woExtension|file=File:Test.C.JpeG}}</code>
::<code><nowiki>{{#invoke:File|extension|file=File:Test.C.JpeG}}</nowiki></code> → <code>{{#invoke:File|extension|file=File:Test.C.JpeG}}</code>
::<code><nowiki>{{#invoke:File|extension|file=File:Test.C.JpeG}}</nowiki></code> → <code>{{#invoke:File|extension|file=File:Test.C.JpeG}}</code>
Line 24: Line 24:


=== From Lua ===
=== From Lua ===
<source lang="Lua">
<syntaxhighlight lang="Lua">
local file = require( 'Module:File' )
local file = require( 'Module:File' )
local fileObj = file.File( 'File:Test.svg' )
local fileObj = file.File( 'File:Test.svg' )
Line 34: Line 34:
   mw.log( fileObj.metadata().width )
   mw.log( fileObj.metadata().width )
end
end
</source>
</syntaxhighlight>
 
[[Category:Module documentation]]

Revision as of 12:41, 19 July 2018

Scope

File title and file information. If the code here grows beyond a border line, this should be converted to an interface and the processing code should be outsourced.

Usage

Note that an error is thrown, if the title can't be constructed (e.g. a title containing invalid characters is supplied) or meta data isn't available (e.g. due to missing file or extraction error). It is your responsibility to catch them; in Lua through pcall(); from Wikitext as {{#iferror: {{#invoke:File|function|file=File:P%bar]baz.qqq}} | meaningful message}}.

From Wikitext

Search (Template:Key press) for @exports.

Examples:
{{#invoke:File|woExtension|file=File:Test.C.JpeG}}File:Test.C
{{#invoke:File|extension|file=File:Test.C.JpeG}}jpeg
{{#invoke:File|csExtension|file=File:Test.C.JpeG}}JpeG
{{#invoke:File|width|file=File:Test.jpg}}3120
{{#invoke:File|dimensions|file=File:Test.jpg}}3120 × 3920
{{#invoke:File|size|file=File:Test.jpg}}21003815
{{#invoke:File|mime|file=File:Test.jpg}}image/jpeg deprecated (but works even if the file does not exist and has no metadata)
{{#invoke:File|mimeType|file=File:Test.jpg}}image/jpeg preferred (but will not work if the file does not exist to parse its metadata)
{{#invoke:File|mime|file=File:DOESNOTEXIST-0a8de8c83.Png}}image/png
{{#invoke:File|mimeType|file=File:DOESNOTEXIST-0a8de8c83.Png}}
{{#invoke:File|dateWorkCreated|file=File:Ballot-sprite.png}}
{{#invoke:File|fileExists|file=File:Ballot-sprite.png}}true
{{#invoke:File|fileExists|file=File:DOESNOTEXIST-0a8de8c83.png}}
{{#invoke:File|fileExistsRelaxed|file=File:Ba[!#llot-sprite.png}}

From Lua

local file = require( 'Module:File' )
local fileObj = file.File( 'File:Test.svg' )
local withoutExtension = fileObj.woExtension()
-- withoutExtension is now 'Test'

local exists = fileObj.metadata().exists
if exists then
   mw.log( fileObj.metadata().width )
end
Cookies help us deliver our services. By using our services, you agree to our use of cookies.