def _parseInst(self, name, vmParameters): r'''@types: str, list[str] -> sap.Instance? @raise ValueError: Incorrect system name ''' inst = None try: inst = sap_discoverer.parseInstanceFromName(name) except ValueError, ve: logger.warn("%s: %s" % (ve, name)) logger.info("Possibly the instance name is composed value")
def __parseSection(self, sectionName, configParser): r'''@types: str, ConfigParser.ConfigParser -> RfcConfiguration @raise ValueError: Failed to parse SID from comment line ''' comment = configParser.get(sectionName, 'comment') # parse SID from comment mo = re.match('SAP System:(.*?),', comment, re.I) if not mo: raise ValueError("Failed to parse SID from comment line") sapSystem = sap.System(mo.group(1)) # parse instance from its name (name + number) sapSystem.addInstance(sap_discoverer.parseInstanceFromName( configParser.get(sectionName, 'instance'))) return self.RfcConfiguration( sapSystem, configParser.get(sectionName, 'host'), instancesCount = configParser.get(sectionName, 'instances'), serviceName = configParser.get(sectionName, 'service'), comment = comment)
def _parseInstanceInfo(self, item): r'@types: Properties -> InstanceInfo' hostname = item.get('Host') if not hostname: raise ValueError("Address is not specified") ports = keep(item.get, self.ENDPOINT_NAMES) endpoints = [netutils.createTcpEndpoint(hostname, p) for p in ports] state = self._parseInstanceState(item.get('State')) instName = item.get('Caption') fullName = item.get('Name') _inst = sap_discoverer.parseInstanceFromName(instName) instName = _inst.name if fullName: details = sap_discoverer.parseSystemAndInstanceDetails(fullName) _, hostname, nr = details else: nr = _inst.number instanceWithHostname = sap.Instance(instName, nr, hostname=hostname) return self.InstanceInfo(instanceWithHostname, endpoints, state=state)
def __parseSection(self, sectionName, configParser): r'''@types: str, ConfigParser.ConfigParser -> RfcConfiguration @raise ValueError: Failed to parse SID from comment line ''' comment = configParser.get(sectionName, 'comment') # parse SID from comment mo = re.match('SAP System:(.*?),', comment, re.I) if not mo: raise ValueError("Failed to parse SID from comment line") sapSystem = sap.System(mo.group(1)) # parse instance from its name (name + number) sapSystem.addInstance( sap_discoverer.parseInstanceFromName( configParser.get(sectionName, 'instance'))) return self.RfcConfiguration( sapSystem, configParser.get(sectionName, 'host'), instancesCount=configParser.get(sectionName, 'instances'), serviceName=configParser.get(sectionName, 'service'), comment=comment)