diff --git a/cvss/cvss2.py b/cvss/cvss2.py index 6b64df4..cc85b98 100644 --- a/cvss/cvss2.py +++ b/cvss/cvss2.py @@ -321,14 +321,6 @@ def rh_vector(self): """ return str(self.scores()[0]) + "/" + self.clean_vector() - def __eq__(self, o): - if isinstance(o, CVSS2): - return self.clean_vector().__eq__(o.clean_vector()) - return NotImplemented - - def __hash__(self): - return hash(self.clean_vector()) - def as_json(self, sort=False, minimal=False): """ Returns a dictionary formatted with attribute names and values defined by the official @@ -381,3 +373,11 @@ def add_metric_to_data(metric): data = OrderedDict(sorted(data.items())) return data + + def __hash__(self): + return hash(self.clean_vector()) + + def __eq__(self, o): + if isinstance(o, CVSS2): + return self.clean_vector() == o.clean_vector() + return False diff --git a/cvss/cvss3.py b/cvss/cvss3.py index f80840a..da386ec 100644 --- a/cvss/cvss3.py +++ b/cvss/cvss3.py @@ -441,14 +441,6 @@ def rh_vector(self): """ return str(self.scores()[0]) + "/" + self.clean_vector() - def __eq__(self, o): - if isinstance(o, CVSS3): - return self.clean_vector().__eq__(o.clean_vector()) - return NotImplemented - - def __hash__(self): - return hash(self.clean_vector()) - def as_json(self, sort=False, minimal=False): """ Returns a dictionary formatted with attribute names and values defined by the official @@ -508,3 +500,11 @@ def add_metric_to_data(metric): if sort: data = OrderedDict(sorted(data.items())) return data + + def __hash__(self): + return hash(self.clean_vector()) + + def __eq__(self, o): + if isinstance(o, CVSS3): + return self.clean_vector() == o.clean_vector() + return False diff --git a/cvss/cvss4.py b/cvss/cvss4.py index 63873a8..2945eb8 100644 --- a/cvss/cvss4.py +++ b/cvss/cvss4.py @@ -549,9 +549,6 @@ def compute_base_score(self): self.base_score = round_away_from_zero(value) - def __hash__(self): - return hash(self.clean_vector()) - def clean_vector(self, output_prefix=True): """ Returns vector without optional metrics marked as X and in preferred order. @@ -670,3 +667,11 @@ def add_metric_to_data(metric): if sort: data = OrderedDict(sorted(data.items())) return data + + def __hash__(self): + return hash(self.clean_vector()) + + def __eq__(self, o): + if isinstance(o, CVSS4): + return self.clean_vector() == o.clean_vector() + return False