Source code for CveXplore.common.cpe_converters

"""
CPE Converters
==============
"""

from CveXplore.database.maintenance import cpe_conversion


[docs]def from2to3CPE(cpe, autofill=False): """ Method to transform cpe2.2 to cpe2.3 format :param cpe: cpe2.2 string :type cpe: str :param autofill: Whether to cpe string should be autofilled with double quotes and hyphens :type autofill: bool :return: cpe2.3 formatted string :rtype: str """ cpe = cpe.strip() if not cpe.startswith("cpe:2.3:"): if not cpe.startswith("cpe:/"): return False cpe = cpe_conversion.cpe_uri_to_fs(cpe) if autofill: e = cpe.split(":") for x in range(0, 13 - len(e)): cpe += ":-" return cpe
[docs]def from3to2CPE(cpe): """ Method to transform cpe2.3 to cpe2.2 format :param cpe: cpe2.3 string :type cpe: str :return: cpe2.2 string :rtype: str """ cpe = cpe.strip() if not cpe.startswith("cpe:/"): if not cpe.startswith("cpe:2.3:"): return False cpe = cpe_conversion.cpe_fs_to_uri(cpe) return cpe
def pad(seq, target_length, padding=None): length = len(seq) if length > target_length: return seq seq.extend([padding] * (target_length - length)) return seq