diff --git a/stix2/core.py b/stix2/core.py index 20888a8..9d51e5b 100644 --- a/stix2/core.py +++ b/stix2/core.py @@ -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