"""Example function for searching a file system.

Name: Chris Mayfield
Date: 11/21/2025
"""

import os
import sys
from pprint import pprint


def find_files(path, pattern):
    """Find all filenames containing the given pattern.

    Args:
        path (str): The starting (current) location.
        pattern (str): Characters in the filename.

    Returns:
        list: paths of files with pattern in the name
    """
    result = []
    if os.path.isfile(path):
        # Base case: regular file
        basename = os.path.basename(path)
        if pattern in basename:
            result.append(path)
    else:
        # Recursive case: folder
        for entry in sorted(os.listdir(path)):
            entry_path = os.path.join(path, entry)
            result += find_files(entry_path, pattern)
    return result


if __name__ == "__main__":
    if len(sys.argv) != 3:
        print("Usage: python filesys2.py path pattern")
    else:
        result = find_files(sys.argv[1], sys.argv[2])
        pprint(result)
