enaio-Lizenzablauf mit Python auslesen und überwachen

Werden mehrere Entwicklungs- oder Testsysteme mit Übergangs- oder Testlizenzen betrieben, müssen die eingespielten Lizenzen im Auge behalten werden. Dies kann natürlich durch die Pflege eines Lizenzregisters erfolgen. Stattdessen lassen sich die verbleibenden Tage er Lizenz aber auch mit wenigen Zeilen Code auslesen:

from ecmind_blue_client.job import Job
from ecmind_blue_client.tcp_client import TcpClient as Client
from datetime import date
import os

client = Client(hostname='localhost', port=4000, appname=os.path.basename(__file__), username='root', password='optimal', use_ssl=False)

result = client.execute(
    Job(
        jobname='lic.LicGetGlobalInfo', 
        Flags=0, 
        Info='EXPIRES'
    )
)

if result.return_code != 0:
    raise RuntimeError(result.error_message)

expires = date(
    year=int(result.values['Result'][4:8]),
    month=int(result.values['Result'][2:4]),
    day=int(result.values['Result'][0:2])
)

days = (expires - date.today()).days

print(f'License expires on {expires} ({days} days)')

Sinnvollerweise werden die so erhobene Werte der expires- oder days-Variablen an ein Inventarisierungs- beziehungsweise Überwachungssystem weitergegeben, etwa mit dem exzellenten Requests-Modul.

1 „Gefällt mir“