formatting
parent
9d72d60706
commit
9f659f9ecb
|
@ -191,13 +191,13 @@ class FileSystemSource(DataSource):
|
|||
# the corresponding subdirectories as well
|
||||
include_paths = []
|
||||
declude_paths = []
|
||||
if "type" in [filter_['field'] for filter_ in file_filters]:
|
||||
if "type" in [filter_["field"] for filter_ in file_filters]:
|
||||
for filter_ in file_filters:
|
||||
if filter_['field'] == "type":
|
||||
if filter_['op'] == '=':
|
||||
include_paths.append(os.path.join(self.stix_dir, filter_['value']))
|
||||
elif filter_['op'] == "!=":
|
||||
declude_paths.append(os.path.join(self.stix_dir, filter_['value']))
|
||||
if filter_["field"] == "type":
|
||||
if filter_["op"] == '=':
|
||||
include_paths.append(os.path.join(self.stix_dir, filter_["value"]))
|
||||
elif filter_["op"] == "!=":
|
||||
declude_paths.append(os.path.join(self.stix_dir, filter_["value"]))
|
||||
else:
|
||||
# have to walk entire STIX directory
|
||||
include_paths.append(self.stix_dir)
|
||||
|
@ -220,26 +220,26 @@ class FileSystemSource(DataSource):
|
|||
|
||||
# grab stix object ID as well - if present in filters, as
|
||||
# may forgo the loading of STIX content into memory
|
||||
if "id" in [filter_['field'] for filter_ in file_filters]:
|
||||
if "id" in [filter_["field"] for filter_ in file_filters]:
|
||||
for filter_ in file_filters:
|
||||
if filter_['field'] == 'id' and filter_['field'] == '=':
|
||||
id_ = filter_['value']
|
||||
if filter_["field"] == "id" and filter_["field"] == '=':
|
||||
id_ = filter_["value"]
|
||||
else:
|
||||
id_ = None
|
||||
|
||||
# now iterate through all STIX objs
|
||||
for path in include_paths:
|
||||
for root, dirs, files in os.walk(path):
|
||||
for file in files:
|
||||
for file_ in files:
|
||||
if id_:
|
||||
if id_ == file.split(".")[0]:
|
||||
if id_ == file_.split(".")[0]:
|
||||
# since ID is specified in one of filters, can evaluate against filename first without loading
|
||||
stix_obj = json.load(file)['objects']
|
||||
stix_obj = json.load(file_)["objects"]
|
||||
# check against other filters, add if match
|
||||
all_data.extend(self.apply_common_filters([stix_obj], query))
|
||||
else:
|
||||
# have to load into memory regardless to evaluate other filters
|
||||
stix_obj = json.load(file)['objects']
|
||||
stix_obj = json.load(file_)["objects"]
|
||||
all_data.extend(self.apply_common_filters([stix_obj], query))
|
||||
|
||||
all_data = self.deduplicate(all_data)
|
||||
|
@ -251,6 +251,6 @@ class FileSystemSource(DataSource):
|
|||
"""
|
||||
file_filters = []
|
||||
for filter_ in query:
|
||||
if filter_['field'] == "id" or filter_['field'] == "type":
|
||||
if filter_["field"] == "id" or filter_["field"] == "type":
|
||||
file_filters.append(filter_)
|
||||
return file_filters
|
||||
|
|
Loading…
Reference in New Issue