Jump to content
Main menu
Navigation
  • Login
Orientation
  • Main page
  • What
  • Getting started
  • Acknowledgments
  • New Features
  • Donate to TTA
The Archive
  • The Index
  • Query the Archive
Publications
  • Magazines
  • Tune Books
The Traditional Tune Archive
Search
  • Log in
  • Request account
  • Log in
  • Request account

Module:Wikibase

  • Module
  • Discussion
  • Read
  • View source
  • View history
Tools
Actions
  • Read
  • View source
  • View history
  • Refresh
  • 📋 Create a TuneBook
  • 📄 Print Sheet Music
General
  • What links here
  • Related changes
  • Upload file
  • Special pages
  • Printable version
  • Permanent link
  • Page information
Appearance
Find traditional instrumental music
Revision as of 10:04, 15 May 2018 by WikiSysop (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Wikibase/doc

---------- Module:Wikibase ----------------
local p = {}

-- Return the item ID of the item linked to the current page.
function p.id(frame)
	if not mw.wikibase then
		return "no mw.wikibase"
	end
	entity = mw.wikibase.getEntityObject()

	if entity == nil then
		return "no entity"
	end
	return entity.id
end

-- Return the WD entity URL of a given data item, or of connected page
-- if no argument is provided to this method.
function p.wdurl(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end
		id = entity.id
	else
		id = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.getEntityUrl( id )
end

-- Return the label of a given data item, or of connected page
-- if no argument is provided to this method.
function p.label(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end
		id = entity.id
	else
		id = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.label( id )
end

-- Return the description of a given data item, or of connected page
-- if no argument is provided to this method.
function p.description(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end
		id = entity.id
	else
		id = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.description( id )
end

-- Return the local page about a given data item, or of connected page
-- if id is not specified.
function p.page(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end
		id = entity.id
	else
		id = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.sitelink( id )
end

-- Return the data type of a property
function p.datatype(frame)
	if frame.args[1] and string.find(frame.args[1], "Property:P") then
		if mw.wikibase.getEntityObject(string.gsub(frame.args[1], "Property:P", "P"))  then
			return mw.wikibase.getEntityObject(string.gsub(frame.args[1], "Property:P", "P") ).datatype
		end
	elseif frame.args[1] and string.find(frame.args[1], "P") then
		if mw.wikibase.getEntityObject(frame.args[1])  then
			return mw.wikibase.getEntityObject(frame.args[1]).datatype
		end
	end
end

return p
Retrieved from "https://tunearch.org/w/index.php?title=Module:Wikibase&oldid=296451"
  • This page was last edited on 15 May 2018, at 10:04.
  • Content is available under Creative Commons Attribution-ShareAlike unless otherwise noted.
  • Privacy policy
  • About The Traditional Tune Archive
  • Disclaimers
  • Mobile view
  • Manage cookie preferences
  • Creative Commons Attribution-ShareAlike
  • Powered by MediaWikiPowered by Semantic MediaWiki

Hello! Ask me anything about traditional music.

    We use cookies (and similar technologies) to personalise content and improve The Traditional Tune Archive website.

    With these cookies we collect few and indispensable information about you. With this we adapt our website and communication to your preferences. You can read more about it in our privacy policy.

    If you want to manage your cookie preferences, click on Manage preferences. By clicking on Accept all, you agree to the use of all cookies. You can change or withdraw your consent at any time.

    Accept all cookiesManage preferences
    Something went wrong
    Dismiss