Current File : //lib/python3.9/site-packages/sos/cleaner/parsers/hostname_parser.py
# Copyright 2020 Red Hat, Inc. Jake Hunsaker <jhunsake@redhat.com>
# This file is part of the sos project: https://github.com/sosreport/sos
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# version 2 of the GNU General Public License.
#
# See the LICENSE file in the source distribution for further information.
import re
from sos.cleaner.parsers import SoSCleanerParser
from sos.cleaner.mappings.hostname_map import SoSHostnameMap
class SoSHostnameParser(SoSCleanerParser):
name = 'Hostname Parser'
map_file_key = 'hostname_map'
regex_patterns = [
r'(((\b|_)[a-zA-Z0-9-\.]{1,200}\.[a-zA-Z]{1,63}(\b|_)))'
]
def __init__(self, config):
self.mapping = SoSHostnameMap()
super(SoSHostnameParser, self).__init__(config)
def parse_line(self, line):
"""This will be called for every line in every file we process, so that
every parser has a chance to scrub everything.
We are overriding parent method since we need to swap ordering of
_parse_line_with_compiled_regexes and _parse_line calls.
"""
count = 0
for skip_pattern in self.skip_line_patterns:
if re.match(skip_pattern, line, re.I):
return line, count
line, _count = self._parse_line(line)
count += _count
if self.compile_regexes:
line, _rcount = self._parse_line_with_compiled_regexes(line)
count += _rcount
return line, count
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat