


# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


SCREAMING_SNAKE_CASE :   List[Any]							      =				subprocess.check_output("git merge-base main HEAD".split()).decode("utf-8")
SCREAMING_SNAKE_CASE :   Optional[int]							      =				(
    subprocess.check_output(F"git diff --diff-filter=d --name-only {fork_point_sha}".split()).decode("utf-8").split()
)

SCREAMING_SNAKE_CASE :   Any							      =				"|".join(sys.argv[1:])
SCREAMING_SNAKE_CASE :   Union[str, Any]							      =				re.compile(rF"^({joined_dirs}).*?\.py$")

SCREAMING_SNAKE_CASE :   List[Any]							      =				[x for x in modified_files if regex.match(x)]
print(" ".join(relevant_modified_files), end="")






def        UpperCamelCase_(   lowerCamelCase_							,				lowerCamelCase_				)					->		bool:
    return numa ^ numa < 0


if __name__ == "__main__":
 import doctest

 doctest.testmod()


