Add regex approach to load mappings
parent
ad76e7155c
commit
5e71f9225b
|
@ -1,6 +1,7 @@
|
|||
import copy
|
||||
import importlib
|
||||
import pkgutil
|
||||
import re
|
||||
|
||||
import stix2
|
||||
|
||||
|
@ -284,12 +285,12 @@ def _collect_stix2_mappings():
|
|||
prefix = str(top_level_module.__name__) + '.'
|
||||
|
||||
for module_loader, name, is_pkg in pkgutil.walk_packages(path=path, prefix=prefix):
|
||||
if name.startswith('stix2.v2') and is_pkg:
|
||||
if re.match(r'^stix2\.v2[0-9]$', name) and is_pkg:
|
||||
mod = importlib.import_module(name, str(top_level_module.__name__))
|
||||
STIX2_OBJ_MAPS[name.split('.')[1]] = {}
|
||||
STIX2_OBJ_MAPS[name.split('.')[1]]['objects'] = mod.OBJ_MAP
|
||||
STIX2_OBJ_MAPS[name.split('.')[1]]['observables'] = mod.OBJ_MAP_OBSERVABLE
|
||||
STIX2_OBJ_MAPS[name.split('.')[1]]['observable-extensions'] = mod.EXT_MAP
|
||||
elif name.startswith('stix2.v2') and name.endswith('.common') and is_pkg is False:
|
||||
elif re.match(r'^stix2\.v2[0-9]\.common$', name) and is_pkg is False:
|
||||
mod = importlib.import_module(name, str(top_level_module.__name__))
|
||||
STIX2_OBJ_MAPS[name.split('.')[1]]['markings'] = mod.OBJ_MAP_MARKING
|
||||
|
|
Loading…
Reference in New Issue