Bearbeiten von „Modul:Infobox

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 21: Zeile 21:
function getValueWithUnit(prop)
function getValueWithUnit(prop)
local result = ''
local result = ''
local propValue = prop.mainsnak and prop.mainsnak.datavalue or prop.datavalue
local propValue = prop.mainsnak and prop.mainsnak.datavalue
if propValue and propValue.value and propValue.value.amount then
if propValue and propValue.value and propValue.value.amount then
result = result .. lang:formatNum(tonumber(propValue.value.amount))
result = result .. lang:formatNum(tonumber(propValue.value.amount))
Zeile 45: Zeile 45:


function getScreenSize(property)
function getScreenSize(property)
local result = nil
local result = ''
local needToClose = false
local needToClose = false
if property then
if property then
result = ""
for key, prop in pairs(property) do
for key, prop in pairs(property) do
if key == 1 then
if key == 1 then
Zeile 67: Zeile 66:


function getScreenResolution(property)
function getScreenResolution(property)
local result = nil
local result = ''
if property then
if property then
if property[2] then
if property[2] then
Zeile 79: Zeile 78:


function getScreenPpi(property)
function getScreenPpi(property)
if property and property[1] then
return getValueWithUnit(property[1])
return getValueWithUnit(property[1])
else
return nil
end
end
end


Zeile 107: Zeile 102:
end
end
result = result .. screenPpi
result = result .. screenPpi
end
return result
end
function dump(o)
  if type(o) == 'table' then
      local s = '{ '
      for k,v in pairs(o) do
        if type(k) ~= 'number' then k = '"'..k..'"' end
        s = s .. '['..k..'] = ' .. dump(v) .. ','
      end
      return s .. '} '
  else
      return tostring(o)
  end
end
function getValueLabel(propValue)
if propValue['type'] == 'wikibase-entityid' then
        local linkTarget = mw.wikibase.sitelink( "Q" .. propValue.value['numeric-id'] )
        local linkTitle = mw.wikibase.label( "Q" ..propValue.value['numeric-id'] )
        return linkTarget and linkTitle and mw.ustring.format( "[[%s|%s]]", linkTarget, linkTitle )
            or linkTitle
    elseif propValue and propValue['type'] == 'string' then
    return propValue.value
else
return ""
end
end
function renderSensors()
return renderList('P57')
end
function renderConnectivity()
return renderList('P74')
end
function renderList(claimIdentifier)
local entity = mw.wikibase.getEntityObject()
result = ''
if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
local property = entity.claims[claimIdentifier]
if property then
for key, prop in pairs(property) do
if prop and prop.mainsnak and prop.mainsnak.datavalue then
result = result .. "\n* " .. getValueLabel(prop.mainsnak.datavalue)
end
end
end
return result
end
function renderAmazon(frame)
local entity = mw.wikibase.getEntityObject()
result = ''
if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
local property = entity.claims['P8']
if property and property[1] and property[1].mainsnak and property[1].mainsnak.datavalue then
result = frame:expandTemplate{ title = 'Amazon', args = { getValueLabel(property[1].mainsnak.datavalue), entity:getLabel() .. " bei Amazon" } }
end
return result
end
function renderCPU()
local entity = mw.wikibase.getEntityObject()
result = ''
if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
local property = entity.claims['P28']
if property then
local linkRenderer = require( "Modul:PropertyLink" )
result = result .. linkRenderer.property({ args = { "P28" } })
if property and property[1] and property[1].mainsnak and property[1].mainsnak.datavalue and property[1].mainsnak.datavalue.value and property[1].mainsnak.datavalue.value["numeric-id"] then
local processorObjectId = "Q" .. property[1].mainsnak.datavalue.value["numeric-id"]
local processorObject = mw.wikibase.getEntityObject(processorObjectId)
if not processorObject or not processorObject.claims then
return result
end
local p2 = processorObject.claims["P2"]
if p2 and p2[1] and p2[1].mainsnak and p2[1].mainsnak.datavalue then
local label = getValueLabel(p2[1].mainsnak.datavalue)
result = label .. " " .. result
end
if property[1].qualifiers['P30'] then
p30 = property[1].qualifiers['P30'][1]
result = result .. ", " .. getValueWithUnit(p30)
end
local p31 = processorObject.claims["P31"]
for key, prop in pairs(p31) do
if prop and prop.mainsnak and prop.mainsnak.datavalue then
local propValue = prop.mainsnak.datavalue
result = result .. ", " .. getValue(prop) .. "-Kern";
if prop.qualifiers and prop.qualifiers["P32"] and prop.qualifiers["P32"][1] and prop.qualifiers["P32"][1].datavalue then
result = result .. " " .. getValueLabel(prop.qualifiers["P32"][1].datavalue) .. " CPU"
else
result = result .. " unbekannte CPU"
end
end
end
end
end
end
return result
return result
Zeile 212: Zeile 107:


return {
return {
     renderAnzeige = renderAnzeige,
     renderAnzeige = renderAnzeige
    renderCPU = renderCPU,
    renderSensors = renderSensors,
    renderConnectivity = renderConnectivity,
    renderAmazon = renderAmazon,
}
}
Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Android Wiki-Beiträge automatisch unter der „Creative Commons Attribution/Share-Alike Lizenz 3.0“ stehen. Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Um das Wiki vor automatisiertem Bearbeitungsspam zu schützen, bitten wir dich, das folgende CAPTCHA zu lösen:

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)
Vorschau der Seite mit dieser Vorlage anzeigen

Die folgende Vorlage wird auf dieser Seite verwendet: