


# 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							    =							subprocess.check_output('git merge-base main HEAD'.split()).decode('utf-8')
SCREAMING_SNAKE_CASE							    =							(
    subprocess.check_output(f'''git diff --diff-filter=d --name-only {fork_point_sha}'''.split()).decode('utf-8').split()
)

SCREAMING_SNAKE_CASE							    =							'|'.join(sys.argv[1:])
SCREAMING_SNAKE_CASE							    =							re.compile(rf'''^({joined_dirs}).*?\.py$''')

SCREAMING_SNAKE_CASE							    =							[x for x in modified_files if regex.match(x)]
print(' '.join(relevant_modified_files), end='')










def   __snake_case    (       _lowerCAmelCase			:			int = 1					,					_lowerCAmelCase			:			int = 1000						)			->    int:
   A_       :					Optional[int]        =      1
   A_       :					int        =      0

   for divide_by_number in range(_lowerCAmelCase					,					digit + 1						):
      A_       :					list[int]        =      []
      A_       :					Union[str, Any]        =      numerator
      for _ in range(1					,					digit + 1						):
         if now_divide in has_been_divided:
            if longest_list_length < len(_lowerCAmelCase						):
               A_       :					Optional[Any]        =      len(_lowerCAmelCase						)
               A_       :					Union[str, Any]        =      divide_by_number
         else:
            has_been_divided.append(_lowerCAmelCase						)
            A_       :					Dict        =      now_divide * 10 % divide_by_number

   return the_digit


# Tests
if __name__ == "__main__":
 import doctest

 doctest.testmod()
