module_info()
Returns detailed license information for a single module via
lic.LicGetModuleInfo. The server response is parsed into an ECMModuleInfo
instance containing the license type and maximum use count.
1. Signature
-
Sync
-
Async
ecm.system.module_info(module: str) -> ECMModuleInfo
await ecm.system.module_info(module: str) -> ECMModuleInfo
2. Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
|
|
— |
The module name to query (e.g. |
3. Return value
An ECMModuleInfo instance.
3.1. ECMModuleInfo fields
| Field | Type | Description |
|---|---|---|
|
|
The module name that was queried. |
|
|
Maximum number of clients that can use the module concurrently. |
|
|
The license type of the module. |
|
|
The raw comma-separated result string from the server. |
3.2. ECMLicenseType enum
| Member | Value | Description |
|---|---|---|
|
|
Module can be used by clients of respective workstations, but only by a certain number ( |
|
|
Module can only be used by clients at specific workstations. |
|
|
Module can be used without workstation or seat restrictions. |
4. Exceptions
| Exception | Condition |
|---|---|
|
The module is not found in the server’s resource table. |
5. Examples
5.1. Get module info
-
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. Check license type before using check_license()
-
Sync
-
Async
from ecmind_blue_client.ecm import ECMLicenseType
info = ecm.system.module_info("ASC")
if info.license_type == ECMLicenseType.CONCURRENT:
# check_license() only works for concurrent licenses
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. See also
-
check_license() — Check whether modules are licensed