CPE2_3_URI class

class cpe.cpe2_3_uri.CPE2_3_URI(cpe_str, *args, **kwargs)[source]

Implementation of binding style URI of version 2.3 of CPE specification.

A CPE Name is a percent-encoded URI with each name starting with the prefix (the URI scheme name) ‘cpe:’.

Each platform can be broken down into many distinct parts. A CPE Name specifies a simple part and is used to identify any platform that matches the description of that part.

The distinct parts are:

  • Hardware part: the physical platform supporting the IT system.

  • Operating system part: the operating system controls and manages the IT hardware.

  • Application part: software systems, services, servers, and packages installed on the system.

CPE Name syntax:

cpe:/{part}:{vendor}:{product}:{version}:{update}:{edition}:{language}

STYLE = 'URI'

Style of CPE Name

__getitem__(i)[source]

Returns the i’th component name of CPE Name.

Parameters

i (int) – component index to find

Returns

component string found

Return type

CPEComponent

Exception

IndexError - index not found in CPE Name

__len__()[source]

Returns the number of components of CPE Name.

Returns

count of components of CPE Name

Return type

int

static __new__(cls, cpe_str, *args, **kwargs)[source]

Create a new CPE Name of version 2.3 with URI style.

Parameters

cpe_str (string) – CPE Name string

Returns

CPE object of version 2.3 of CPE specification with URI style.

Return type

CPE2_3_URI

as_wfn()[source]

Returns the CPE Name as Well-Formed Name string of version 2.3. If edition component is not packed, only shows the first seven components, otherwise shows all.

Returns

CPE Name as WFN string

Return type

string

Exception

TypeError - incompatible version

get_attribute_values(att_name)[source]

Returns the values of attribute “att_name” of CPE Name. By default a only element in each part.

Parameters

att_name (string) – Attribute name to get

Returns

List of attribute values

Return type

list

Exception

ValueError - invalid attribute name