Source code for insights.parsers.md5check

"""
NormalMD5 - md5 checksums of specified binary or library files
==============================================================

Module for processing output of the ``md5sum`` command.

The name and md5 checksums of the specified file are stored as attributes.
"""
from insights.core import CommandParser
from insights.core.exceptions import ParseException
from insights.core.plugins import parser
from insights.specs import Specs


[docs] @parser(Specs.md5chk_files) class NormalMD5(CommandParser): """ Class to parse the ``md5sum`` command information. The output of this command contains two fields, the first is the md5 checksum and the second is the file name. Sample output of the ``md5sum`` command:: d1e6613cfb62d3f111db7bdda39ac821 /usr/lib64/libsoftokn3.so Examples: >>> type(md5info) <class 'insights.parsers.md5check.NormalMD5'> >>> md5info.filename '/etc/localtime' >>> md5info.md5sum '7d4855248419b8a3ce6616bbc0e58301' Attributes: filename (str): Filename for which the MD5 checksum was computed. md5sum (str): MD5 checksum value. """
[docs] def parse_content(self, content): if len(content) != 1: raise ParseException("Incorrect length for input {length}.".format(length=len(content))) for line in content: self.md5sum, self.filename = content[-1].strip().split(None, 1) if len(self.md5sum) != 32: raise ParseException("Invalid MD5sum value {length}.".format(length=self.md5sum))