אונטערשייד צווישן ווערסיעס פון "יחידה:LocationAndCountry"

198 בייטן צוגעלייגט ,  פֿאַר 2 יאָר
קיין רעדאגירונג באמערקונג
ק (1 רעוויזיע אימפארטירט: אימפארטירט פון די יידישע וויקיפעדיע, זע ביישטייערער ליסטע)
אין תקציר עריכה
 
(3 צווישנדיגע ווערסיעס פונעם זעלבן באַניצער נישט געוויזן)
שורה 1: שורה 1:
--[[Adapted from ro:Modul:LocationAndCountry with changes:
--[[Adapted from ro:Modul:LocationAndCountry with changes:
* Using PropertyLink for linking format
* Using PropertyLink for linking format
* No use of external modules that exist in rowiki but have different version in yiwiki such as wikidata and date modules
* No use of external modules that exist in rowiki but have different version in hewiki such as wikidata and date modules
   * findLinkToItem/findDateValues/findClaimForTimestamp is local instead of wikidata module
   * findLinkToItem/findDateValues/findClaimForTimestamp is local instead of wikidata module
* disabled capabilities:
* disabled capabilities:
שורה 15: שורה 15:
-- the fifth argument specifies the separator to use when displaying multiple values
-- the fifth argument specifies the separator to use when displaying multiple values
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local HeDateUtils = require('Module:דאטע')
local HeDateUtils = require('Module:דאטום')
local TableTools = require('Module:TableTools')
local TableTools = require('Module:TableTools')
local PropertyLink = require('Module:PropertyLink')
local PropertyLink = require('Module:PropertyLink')
שורה 150: שורה 150:


local function missingLabelCategory(propertyName)
local function missingLabelCategory(propertyName)
return '[[קאטעגאריע:וויקידאטן עטיקעט פעלט אין יידיש: ' .. (mw.wikibase.label( propertyName) or propertyName) .. ']][[קאטעגאריע:וויקידאטן עטיקעט פעלט אין יידיש]]'
return '[[קאטעגאריע:ויקינתונים:ערכים_חסרי_תווית_בעברית: ' .. (mw.wikibase.label( propertyName) or propertyName) .. ']][[קאטעגאריע:ויקינתונים:ערכים_חסרי_תווית_בעברית]]'
end
end


שורה 157: שורה 157:
local claims = nil
local claims = nil
local workingEntityId = nil
local workingEntityId = nil
local countryProperty = 'P17'
local administrativeUnitProperty = 'P131'
if type(entity) == 'table' then
if type(entity) == 'table' then
workingEntityId = entity.id
workingEntityId = entity.id
שורה 181: שורה 183:
--attempt to also load administrative unit, but only if present as a qualifier
--attempt to also load administrative unit, but only if present as a qualifier
local unitQualifier = actualClaim.qualifiers and actualClaim.qualifiers['P131'] and actualClaim.qualifiers['P131'][1]
local unitQualifier = actualClaim.qualifiers and actualClaim.qualifiers[administrativeUnitProperty] and actualClaim.qualifiers[administrativeUnitProperty][1]
if unitQualifier and unitQualifier.snaktype == 'value' then
if unitQualifier and unitQualifier.snaktype == 'value' then
table.insert(locationEntitiesIds, unitQualifier.datavalue.value.id)
table.insert(locationEntitiesIds, unitQualifier.datavalue.value.id)
שורה 188: שורה 190:
-- attempt to identify country in the qualifier first, but if it's not, go to the entity
-- attempt to identify country in the qualifier first, but if it's not, go to the entity
local countryQualifier = actualClaim.qualifiers and actualClaim.qualifiers['P17'] and actualClaim.qualifiers['P17'][1]
local countryQualifier = actualClaim.qualifiers and actualClaim.qualifiers[countryProperty] and actualClaim.qualifiers[countryProperty][1]
local countryId = nil
local countryId = nil
local ts = nil
local ts = nil
שורה 218: שורה 220:
end
end
countryClaim = findClaimForTimestamp(locationEntityId, 'P17', ts)
countryClaim = findClaimForTimestamp(locationEntityId, countryProperty, ts)
if countryClaim and countryClaim.mainsnak and countryClaim.mainsnak.snaktype == 'value' then
if countryClaim and countryClaim.mainsnak and countryClaim.mainsnak.snaktype == 'value' then
countryId = countryClaim.mainsnak.datavalue.value.id
countryId = countryClaim.mainsnak.datavalue.value.id
שורה 245: שורה 247:
]]
]]
end
end
 
-- don't show in case of missing label
if not missingEntityLabel then
if not missingEntityLabel then
table.insert(locationNamesList, locationNames[eachLocationId])
table.insert(locationNamesList, locationNames[eachLocationId])