<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AWikidata.Ca%2Fdebug</id>
	<title>وحدة:Wikidata.Ca/debug - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AWikidata.Ca%2Fdebug"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Wikidata.Ca/debug&amp;action=history"/>
	<updated>2026-06-05T02:54:05Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Wikidata.Ca/debug&amp;diff=2056&amp;oldid=prev</id>
		<title>عبد العزيز: أنشأ الصفحة ب&#039;-- Helper functions for debugging Wikidata data, do not use them on any article or template local p = {}  -- Dump data tree structure -- From pl:Module:Wikidane, by User...&#039;</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Wikidata.Ca/debug&amp;diff=2056&amp;oldid=prev"/>
		<updated>2021-03-04T14:26:34Z</updated>

		<summary type="html">&lt;p&gt;أنشأ الصفحة ب&amp;#039;-- Helper functions for debugging Wikidata data, do not use them on any article or template local p = {}  -- Dump data tree structure -- From pl:Module:Wikidane, by User...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Helper functions for debugging Wikidata data, do not use them on any article or template&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Dump data tree structure&lt;br /&gt;
-- From pl:Module:Wikidane, by User:Paweł Ziemian&lt;br /&gt;
-- On any page associated with Wikidata, preview {{#invoke:Wikidata/debug|Dump}}. Do not save.&lt;br /&gt;
function p.Dump(frame)&lt;br /&gt;
	local f = (frame.args[1] or frame.args.id) and frame or frame:getParent()&lt;br /&gt;
	local data = mw.wikibase.getEntityObject(f.args.id)&lt;br /&gt;
	if not data then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while true do&lt;br /&gt;
		local index = f.args[i]&lt;br /&gt;
		if not index then&lt;br /&gt;
			return frame:extensionTag(&amp;#039;syntaxhighlight&amp;#039;, mw.dumpObject(data), {lang = &amp;#039;json&amp;#039;})&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		data = data[index] or data[tonumber(index)]&lt;br /&gt;
		if not data then&lt;br /&gt;
			return&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Look into entity object&lt;br /&gt;
-- Add parameters as needed. Example: {{#invoke:Wikidata/debug|ViewSomething|claims|P17|1|mainsnak}}&lt;br /&gt;
function p.ViewSomething(frame)&lt;br /&gt;
	local f = (frame.args[1] or frame.args.item) and frame or frame:getParent()&lt;br /&gt;
	local id = f.args.item&lt;br /&gt;
	if id and (#id == 0) then&lt;br /&gt;
		id = nil&lt;br /&gt;
	end&lt;br /&gt;
	local data = mw.wikibase.getEntity(id)&lt;br /&gt;
	if not data then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while true do&lt;br /&gt;
		local index = f.args[i]&lt;br /&gt;
		if not index then&lt;br /&gt;
			if type(data) == &amp;quot;table&amp;quot; then&lt;br /&gt;
				return frame:extensionTag(&amp;#039;syntaxhighlight&amp;#039;, mw.text.jsonEncode(data, mw.text.JSON_PRETTY), {lang = &amp;#039;json&amp;#039;})&lt;br /&gt;
			else&lt;br /&gt;
				return tostring(data)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		data = data[index] or data[tonumber(index)]&lt;br /&gt;
		if not data then&lt;br /&gt;
			return&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Look into entity object&lt;br /&gt;
-- From pl:Module:Wikidane, function V, by User:Paweł Ziemian&lt;br /&gt;
function p.getEntityFromTree(frame)&lt;br /&gt;
	local data = mw.wikibase.getEntity()&lt;br /&gt;
	if not data then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local f = frame.args[1] and frame or frame:getParent()&lt;br /&gt;
	&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while true do&lt;br /&gt;
		local index = f.args[i]&lt;br /&gt;
		if not index then&lt;br /&gt;
			return tostring(data)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		data = data[index] or data[tonumber(index)]&lt;br /&gt;
		if not data then&lt;br /&gt;
			return&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- helper function for debugging mw.wikibase.getAllStatements(id, P)&lt;br /&gt;
-- on debug console use: =p.ViewAllStatements({&amp;#039;Qid&amp;#039;, &amp;#039;Pid&amp;#039;})&lt;br /&gt;
function p.ViewAllStatements(frame)&lt;br /&gt;
	local args = frame.args or frame -- from invoke or from debug console&lt;br /&gt;
	local qid, pid&lt;br /&gt;
	qid = mw.text.trim(args[1] or &amp;quot;&amp;quot;):upper()&lt;br /&gt;
	if qid:sub(1,1) ~= &amp;quot;Q&amp;quot; then&lt;br /&gt;
		pid = qid&lt;br /&gt;
		qid = mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	else&lt;br /&gt;
		pid = mw.text.trim(args[2] or &amp;quot;&amp;quot;):upper()&lt;br /&gt;
	end&lt;br /&gt;
	if not qid then return &amp;quot;Ítem no trobat&amp;quot; end&lt;br /&gt;
	if pid:sub(1,1) ~= &amp;quot;P&amp;quot; then return &amp;quot;Cal una propietat&amp;quot; end&lt;br /&gt;
	local statements = mw.wikibase.getAllStatements(qid, pid)&lt;br /&gt;
	if args == frame then&lt;br /&gt;
		return mw.dumpObject(statements)&lt;br /&gt;
	else&lt;br /&gt;
		return frame:extensionTag(&amp;#039;syntaxhighlight&amp;#039;, mw.text.jsonEncode(statements, mw.text.JSON_PRETTY), {lang = &amp;#039;json&amp;#039;})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- utility for tracking how the module is used&lt;br /&gt;
-- see documentation at [[wikt:en:Template:tracking]]&lt;br /&gt;
-- see your tracking at Special:WhatLinksHere/Template:track/wikidata/&amp;lt;your label&amp;gt;&lt;br /&gt;
function p.track(label)&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	pcall(frame.expandTemplate, frame, {title = &amp;#039;track/wikidata/&amp;#039; .. label})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Return fall back language codes&lt;br /&gt;
function p.getFallbacks(frame)&lt;br /&gt;
	local args = frame.args or frame -- from invoke or from debug console&lt;br /&gt;
	local lang = args[1] and mw.text.trim(args[1]) or mw.language.getContentLanguage().code&lt;br /&gt;
	return table.concat(mw.language.getFallbacksFor(lang), &amp;#039;, &amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
</feed>