Restructured CLI meta commands

This commit is contained in:
Kevin Veen-Birkenbach 2025-07-12 17:05:00 +02:00
parent 80ca12938b
commit 3eb8b54a1a
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
8 changed files with 16 additions and 6 deletions

View File

View File

@ -6,8 +6,6 @@ This script determines the appropriate Ansible role folder based on the provided
by inspecting each role's vars/main.yml within the roles directory. By default, it assumes the
roles directory is located at the project root, relative to this script's location.
Example:
./get_role_folder_cli.py --application-id my-app-id
"""
import os
import sys
@ -55,7 +53,7 @@ def main():
'-r', '--roles-path',
default=os.path.join(
os.path.dirname(os.path.realpath(__file__)),
os.pardir, os.pardir,
os.pardir, os.pardir, os.pardir,
'roles'
),
help='Path to the roles directory (default: roles/ at project root)'

View File

@ -10,7 +10,7 @@ script_dir = Path(__file__).resolve().parent
repo_root = script_dir.parent.parent
sys.path.insert(0, str(repo_root))
from cli.meta.applications import find_application_ids
from cli.meta.applications.all import find_application_ids
def load_yaml_file(path):
try:

View File

@ -2,7 +2,7 @@ import os
import sys
import re
import unittest
from cli.meta.applications import find_application_ids
from cli.meta.applications.all import find_application_ids
# ensure project root is on PYTHONPATH so we can import your CLI code
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))

View File

@ -2,7 +2,7 @@ import os
import sys
import re
import unittest
from cli.meta.applications import find_application_ids
from cli.meta.applications.all import find_application_ids
# ensure project root is on PYTHONPATH so we can import the CLI code
# project root is two levels up from this file (tests/integration -> project root)
@ -53,6 +53,18 @@ class TestValidApplicationUsage(unittest.TestCase):
):
for match in pattern.finditer(content):
name = match.group('name')
for match in pattern.finditer(content):
# Determine the full line containing this match
start = match.start()
line_start = content.rfind('\n', 0, start) + 1
line_end = content.find('\n', start)
line = content[line_start:line_end if line_end != -1 else None]
# Skip any import or from-import lines
if line.strip().startswith(('import ', 'from ')):
continue
name = match.group('name')
# skip whitelisted methods/exceptions
if name in self.WHITELIST:
continue