def __init__(self, cpe_str):
"""Create a new CPE object that represents the cpe_str
:param str cpe_str: The cpe string
"""
self.part = ""
self.vendor = ""
self.product = ""
self.version = ""
self.update = ""
self.edition = ""
if cpe_str.startswith("cpe:/"):
cpe_str = cpe_str.replace("cpe:/", "")
elif cpe_str.startswith("cpe:2.3:"):
cpe_str = cpe_str.replace("cpe:2.3:", "")
else:
raise CPEException("Invalid cpe string {!r}".format(cpe_str))
parts = deque(cpe_str.split(":"))
to_set = deque(self.attrs)
while len(parts) > 0 and len(to_set) > 0:
next_attr = to_set.popleft()
setattr(self, next_attr, parts.popleft())
评论列表
文章目录