Обсуждение модуля:WikidataSelectors

Последнее сообщение: 3 года назад от Carn в теме «Функция filterByValue»

Коды языков с дефисом

править

@putnik, Ghuron, Facenapalm, Grain of sand, Iniquity, Jack who built the house, Saint Johann: Модуль:WikidataSelectors не работает для языков, код которых содержат дефис, пример: be-tarask

Из-за этого, к примеру, в белорусской вики на тарашкевице не работают многие функции (там модули скопированы у нас)

Надо поправить соответствующий регэксп. 194.151.204.31 07:23, 27 июня 2017 (UTC)Ответить

Снятие защиты

править
  Здравствуйте! Прошу снять защиту от правок с этой страницы, так как она не до конца закончена. Не перечислены многие регенты некоторых русских князей.

Заранее спасибо!

Sasha Sergeev (обс.) 15:04, 20 сентября 2017 (UTC) Sasha SergeevОтветить

Не работает с plain=true

править
  • {{wikidata|p361[1]|from=Q2}}: Система Земля — Луна
  • {{wikidata|p361[2]|from=Q2}}: внутренняя часть Солнечной системы[вд]
  • {{wikidata|p361[1]|from=Q2|plain=true}}: Q18589965
  • {{wikidata|p361[2]|from=Q2|plain=true}}: Q7879772
Igel B TyMaHe (обс.) 10:16, 1 февраля 2018 (UTC)Ответить

Функция filterByValue

править
function p.filterByValue( claims, value, inversed )
  inversed = inversed or false
  for _, statement in ipairs( claims ) do
    local statementValue = (statement and statement['mainsnak'] and statement['mainsnak']['datavalue']) and statement['mainsnak']['datavalue']['value'] or nil
    if statement['mainsnak']['datavalue']['type'] == 'wikibase-entityid' then
      statementValue = statementValue.id
      value = string.upper( value ) 
    end
    if ( statementValue == value ) ~= inversed then
      table.insert( resultClaims, statement )
    end
  end
  return resultClaims
end

Не очень нравится как я переписал, логичнее было бы вот так как выше. ·Carn 11:40, 15 июля 2020 (UTC)Ответить