module_info()

Gibt detaillierte Lizenzinformationen für ein einzelnes Modul über lic.LicGetModuleInfo zurück. Die Serverantwort wird in eine ECMModuleInfo-Instanz geparst, die den Lizenztyp und die maximale Nutzerzahl enthält.

1. Signatur

  • Sync

  • Async

ecm.system.module_info(module: str) -> ECMModuleInfo
await ecm.system.module_info(module: str) -> ECMModuleInfo

2. Parameter

Parameter Typ Standard Beschreibung

module

str

Der abzufragende Modulname (z.B. "ASC").

3. Rückgabewert

Eine ECMModuleInfo-Instanz.

3.1. Felder von ECMModuleInfo

Feld Typ Beschreibung

module

str

Der abgefragte Modulname.

max_use_count

int

Maximale Anzahl an Clients, die das Modul gleichzeitig nutzen können.

license_type

ECMLicenseType

Der Lizenztyp des Moduls.

raw

str

Der rohe, kommagetrennte Ergebnisstring vom Server.

3.2. ECMLicenseType-Enum

Mitglied Wert Beschreibung

CONCURRENT

"C"

Das Modul kann von Clients der jeweiligen Arbeitsstationen genutzt werden, jedoch nur von einer bestimmten Anzahl (max_use_count).

NAMED

"N"

Das Modul kann nur von Clients an bestimmten Arbeitsstationen genutzt werden.

UNIVERSAL

"U"

Das Modul kann ohne Arbeitsstations- oder Platzbeschränkungen genutzt werden.

4. Ausnahmen

Ausnahme Bedingung

ECMNotFoundException

Das Modul wurde in der Ressourcentabelle des Servers nicht gefunden.

5. Beispiele

5.1. Modulinformationen abrufen

  • Sync

  • Async

info = ecm.system.module_info("ASC")
print(f"Module: {info.module}")
print(f"License type: {info.license_type.name}")
print(f"Max users: {info.max_use_count}")
info = await ecm.system.module_info("ASC")
print(f"Module: {info.module}")
print(f"License type: {info.license_type.name}")
print(f"Max users: {info.max_use_count}")

5.2. Lizenztyp vor Verwendung von check_license() prüfen

  • Sync

  • Async

from ecmind_blue_client.ecm import ECMLicenseType

info = ecm.system.module_info("ASC")
if info.license_type == ECMLicenseType.CONCURRENT:
    # check_license() funktioniert nur für Concurrent-Lizenzen
    result = ecm.system.check_license("ASC")
    print(f"Licensed: {result[0].licensed}")
else:
    print(f"Module uses {info.license_type.name} licensing — check_license() not applicable")
from ecmind_blue_client.ecm import ECMLicenseType

info = await ecm.system.module_info("ASC")
if info.license_type == ECMLicenseType.CONCURRENT:
    result = await ecm.system.check_license("ASC")
    print(f"Licensed: {result[0].licensed}")
else:
    print(f"Module uses {info.license_type.name} licensing — check_license() not applicable")

6. Siehe auch