Use dict properly

pull/3/head
Raphaël Vinot 2017-07-26 16:37:13 +02:00
parent 20b524652d
commit 51c524b0c9
2 changed files with 10 additions and 10 deletions

View File

@ -179,23 +179,23 @@ class Cluster(collections.Mapping):
self.description = self.cluster['description'] self.description = self.cluster['description']
self.uuid = self.cluster['uuid'] self.uuid = self.cluster['uuid']
self.version = self.cluster['version'] self.version = self.cluster['version']
self.values = {} self.cluster_values = {}
for value in self.cluster['values']: for value in self.cluster['values']:
new_cluster_value = ClusterValue(value) new_cluster_value = ClusterValue(value)
if self.values.get(new_cluster_value.value): if self.cluster_values.get(new_cluster_value.value):
raise PyMISPGalaxiesError("Duplicate value ({}) in cluster: {}".format(new_cluster_value.value, self.name)) raise PyMISPGalaxiesError("Duplicate value ({}) in cluster: {}".format(new_cluster_value.value, self.name))
self.values[new_cluster_value.value] = new_cluster_value self.cluster_values[new_cluster_value.value] = new_cluster_value
def search(self, query): def search(self, query):
matching = [] matching = []
for v in self.values.values(): for v in self.values():
if [s for s in v.searchable if query.lower() in s.lower()]: if [s for s in v.searchable if query.lower() in s.lower()]:
matching.append(v) matching.append(v)
return matching return matching
def machinetags(self): def machinetags(self):
to_return = [] to_return = []
for v in self.values.values(): for v in self.values():
to_return.append('misp-galaxy:{}="{}"'.format(self.type, v.value)) to_return.append('misp-galaxy:{}="{}"'.format(self.type, v.value))
return to_return return to_return
@ -203,19 +203,19 @@ class Cluster(collections.Mapping):
return '\n'.join(self.machinetags()) return '\n'.join(self.machinetags())
def __getitem__(self, name): def __getitem__(self, name):
return self.values[name] return self.cluster_values[name]
def __len__(self): def __len__(self):
return len(self.values) return len(self.cluster_values)
def __iter__(self): def __iter__(self):
return iter(self.values) return iter(self.cluster_values)
def _json(self): def _json(self):
to_return = {'name': self.name, 'type': self.type, 'source': self.source, to_return = {'name': self.name, 'type': self.type, 'source': self.source,
'authors': self.authors, 'description': self.description, 'authors': self.authors, 'description': self.description,
'uuid': self.uuid, 'version': self.version, 'values': []} 'uuid': self.uuid, 'version': self.version, 'values': []}
to_return['values'] = [v._json() for v in self.values.values()] to_return['values'] = [v._json() for v in self.cluster_values.values()]
return to_return return to_return

View File

@ -44,7 +44,7 @@ class TestPyMISPGalaxies(unittest.TestCase):
def test_meta_additional_properties(self): def test_meta_additional_properties(self):
# All the properties in the meta key of the bundled-in clusters should be known # All the properties in the meta key of the bundled-in clusters should be known
for c in self.clusters.values(): for c in self.clusters.values():
for cv in c.values.values(): for cv in c.values():
if cv.meta: if cv.meta:
self.assertIsNot(cv.meta.additional_properties, {}) self.assertIsNot(cv.meta.additional_properties, {})