diff --git a/src/nagparse.py b/src/nagparse.py index c1b99d5..4aba219 100644 --- a/src/nagparse.py +++ b/src/nagparse.py @@ -13,71 +13,14 @@ class ParserState(Enum): class NagParse: def __init__(self, config_files: list[str]): self.m_config_files: list[str] = config_files - self.m_commands: list[NagObject] = list() - self.m_contacts: list[NagObject] = list() - self.m_contactgroups: list[NagObject] = list() - self.m_hosts: list[NagObject] = list() - self.m_hostdependencies: list[NagObject] = list() - self.m_hostescalations: list[NagObject] = list() - self.m_hostgroups: list[NagObject] = list() - self.m_services: list[NagObject] = list() - self.m_servicedependencies: list[NagObject] = list() - self.m_serviceescalations: list[NagObject] = list() - self.m_servicegroups: list[NagObject] = list() - self.m_timeperiods: list[NagObject] = list() + self.m_objects: list[NagObject] = list() for config_file in self.m_config_files: for object in self.parse_config(config_file): - match object.m_type: - case NagObjectType.Command: - self.m_commands.append(object) - case NagObjectType.Contact: - self.m_contacts.append(object) - case NagObjectType.ContactGroup: - self.m_contactgroups.append(object) - case NagObjectType.Host: - self.m_hosts.append(object) - case NagObjectType.HostDependency: - self.m_hostdependencies.append(object) - case NagObjectType.HostEscalation: - self.m_hostescalations.append(object) - case NagObjectType.HostGroup: - self.m_hostgroups.append(object) - case NagObjectType.Service: - self.m_services.append(object) - case NagObjectType.ServiceDependency: - self.m_servicedependencies.append(object) - case NagObjectType.ServiceEscalation: - self.m_serviceescalations.append(object) - case NagObjectType.ServiceGroup: - self.m_servicegroups.append(object) - case NagObjectType.TimePeriod: - self.m_timeperiods.append(object) + self.m_objects.append(object) def __str__(self): string = str() - for fragment in self.m_commands: - string += str(fragment) + "\n" - for fragment in self.m_contacts: - string += str(fragment) + "\n" - for fragment in self.m_contactgroups: - string += str(fragment) + "\n" - for fragment in self.m_hosts: - string += str(fragment) + "\n" - for fragment in self.m_hostdependencies: - string += str(fragment) + "\n" - for fragment in self.m_hostescalations: - string += str(fragment) + "\n" - for fragment in self.m_hostgroups: - string += str(fragment) + "\n" - for fragment in self.m_services: - string += str(fragment) + "\n" - for fragment in self.m_servicedependencies: - string += str(fragment) + "\n" - for fragment in self.m_serviceescalations: - string += str(fragment) + "\n" - for fragment in self.m_servicegroups: - string += str(fragment) + "\n" - for fragment in self.m_timeperiods: - string += str(fragment) + "\n" + for object in self.m_objects: + string += str(object) + "\n" return string def parse_config(self,config_file: str) -> list[NagObject]: