in cicd-deployers/iam_metadata_extractor.py [0:0]
def list_sqlx_files(repo):
"""Lists .sqlx files with 'ddl' tag in a GitHub repository.
Args:
repo: The GitHub repository object.
"""
all_metadata = []
contents = repo.get_contents("")
while contents:
file_content = contents.pop(0)
if file_content.type == "dir":
contents.extend(repo.get_contents(file_content.path))
elif file_content.name.endswith(".sqlx"):
file_path = file_content.path
file_content = repo.get_contents(file_path).decoded_content.decode()
if 'tags: ["ddl"]' in file_content:
metadata = extract_iam_metadata(file_content)
if metadata:
all_metadata.append(metadata)
print(json.dumps(all_metadata, indent=2))