in tools/check_names.py [0:0]
def get_names(dir_name):
dir_path = BASEDIR / dir_name
for tf_path in sorted(dir_path.glob('**/*.tf')):
if '.terraform' in str(tf_path):
continue
LOGGER.debug(f'file {tf_path}')
doc = tf_path.read_text()
name = source = None
for m in MOD_RE.finditer(doc):
token_type = MOD(m.lastindex)
if token_type == MOD.REST:
continue
value = m.group(m.lastindex).strip()
LOGGER.debug(f'{token_type}: {value}')
if token_type == MOD.NAME:
if name:
LOGGER.debug(f'module {name} already open ({value})')
name = value
source = None
elif token_type == MOD.SOURCE:
source = value.split('/')[-1]
LOGGER.debug(f'{name} {source}')
elif token_type == MOD.VALUE:
if name is None or source not in MOD_LIMITS:
continue
if '$' in value:
LOGGER.debug(f'interpolation in {name} ({value}), skipping')
else:
yield Name(source, name, value, len(value))
name = source = None