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 |
|---|---|---|
|
|
Eine oder mehrere numerische Icon-IDs. Ohne Argument wird ein leeres |
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
|
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 -
Modellreferenz —
document.system.file_properties.iconidpro Dokument