#!/usr/bin/python import sys Types = { 'instance': '2', 'association': '3', 'indication': '4', 'method': '5', 'consumer': '6', 'instanceQuery': '7' } def define_module(provider): return """instance of PG_ProviderModule { Name = "%(provider)sModule"; Location = "%(provider)s"; Vendor = "RedHat"; Version = "0.0.1"; InterfaceType = "CMPI"; InterfaceVersion = "2.0.0"; ModuleGroupName = "cura-providers"; }; """ % { 'provider': provider } def getTypes(types): l = [] for key, value in Types.items(): if key in types: l.append(value) return ",".join(l) def define_capability(provider, name, cls, types): return """instance of PG_Provider { Name = "%(name)s"; ProviderModuleName = "%(provider)sModule"; }; instance of PG_ProviderCapabilities { ProviderModuleName = "%(provider)sModule"; ProviderName = "%(name)s"; CapabilityID = "%(class)s"; ClassName = "%(class)s"; Namespaces = { "root/cimv2" }; ProviderType = { %(types)s }; SupportedProperties = NULL; SupportedMethods = NULL; }; """ % { 'provider': provider, 'name': name, 'class': cls, 'types': getTypes(types) } modules_defined = {} for line in sys.stdin: cls, namespace, name, provider, types = line.strip().split(" ", 4) if provider not in modules_defined: print define_module(provider) modules_defined[provider] = True print define_capability(provider, name, cls, types)