get_icons()

Lädt die Icons (GIF-Bilder) für eine oder mehrere Icon-IDs über den Serverjob cnv.GetIcons. Das sind die im Archivbereich und in Trefferlisten verwendeten Icons, einschließlich benutzerdefinierter Icons.

Die benötigten Icon-IDs stammen aus der Objektdefinition (Attribut IconID, erreichbar über icon_id der Objekttyp-Definition) oder pro Dokument aus document.system.file_properties.iconid.

1. Signatur

  • Sync

  • Async

ecm.system.get_icons(*icon_ids: int) -> dict[int, bytes]
await ecm.system.get_icons(*icon_ids: int) -> dict[int, bytes]

2. Parameter

Name Typ Beschreibung

*icon_ids

int

Eine oder mehrere numerische Icon-IDs. Ohne Argument wird ein leeres dict zurückgegeben, ohne den Server zu kontaktieren.

3. Rückgabewert

Ein dict[int, bytes], das jede aufgelöste Icon-ID auf ihre rohen GIF-Bytes abbildet.

IDs, die der Server nicht kennt, werden stillschweigend ausgelassen — das Ergebnis kann also kleiner sein als die Anfrage; eine vollständig unbekannte Anfrage liefert ein leeres dict. Es gibt keinen „alle Icons"-Modus: cnv.GetIcons ist ID-basiert, die IDs müssen bekannt sein.

4. Beispiele

4.1. Ein einzelnes Icon laden

  • Sync

  • Async

icons = ecm.system.get_icons(1073744046)
gif = icons[1073744046]            # b'GIF89a...'
icons = await ecm.system.get_icons(1073744046)
gif = icons[1073744046]

4.2. Alle Typ-Icons aus der Objektdefinition exportieren

  • Sync

  • Async

from pathlib import Path

definition = ecm.system.definition()
ids = [
    obj.icon_id
    for cabinet in definition.cabinets.values()
    for obj in cabinet.objects.values()
    if obj.icon_id
]
for icon_id, data in ecm.system.get_icons(*ids).items():
    Path(f"icon_{icon_id}.gif").write_bytes(data)
from pathlib import Path

definition = await ecm.system.definition()
ids = [
    obj.icon_id
    for cabinet in definition.cabinets.values()
    for obj in cabinet.objects.values()
    if obj.icon_id
]
for icon_id, data in (await ecm.system.get_icons(*ids)).items():
    Path(f"icon_{icon_id}.gif").write_bytes(data)

5. Siehe auch

  • definition() — Objektdefinition mit den icon_id-Werten der Objekttypen

  • Modellreferenzdocument.system.file_properties.iconid pro Dokument