in scripts/interface_privacy.py [0:0]
def main() -> None:
"""Main entry point for the script."""
quiet = sys.argv[2:3] == ["--quiet"]
argc = len(sys.argv)
match (argc, quiet):
case (2, False):
...
case (3, True):
...
case _:
print(f"Usage: {sys.argv[0]} <filename.py> [ --quiet ]", file=sys.stderr)
sys.exit(ExitCode.USAGE_ERROR)
file_path = pathlib.Path(sys.argv[1])
filename = str(file_path)
if not file_path.is_file() or (not filename.endswith(".py")):
print(f"!! {filename} - invalid file", file=sys.stderr)
sys.exit(ExitCode.USAGE_ERROR)
content = _read_file_content(file_path)
if content is None:
sys.exit(ExitCode.FAILURE)
tree = _parse_python_code(content, filename)
if tree is None:
sys.exit(ExitCode.FAILURE)
visitor = PrivateAccessVisitor(filename)
visitor.visit(tree)
if visitor.violations:
# print(f"!! {filename} - found violations of private attribute access")
for lineno, col, name in visitor.violations:
print(f"!! {filename}:{lineno}:{col} - access to {name}")
sys.exit(ExitCode.FAILURE)
else:
if not quiet:
print(f"ok {filename}")
sys.exit(ExitCode.SUCCESS)