
"""simple docstring"""

# 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


_A						=			subprocess.check_output('git merge-base main HEAD'.split()).decode('utf-8')
_A						=			(
    subprocess.check_output(F"""git diff --diff-filter=d --name-only {fork_point_sha}""".split()).decode('utf-8').split()
)

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

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








"""simple docstring"""

import os

try:
					from .build_directory_md import good_file_paths
except ImportError:
					from build_directory_md import good_file_paths  # type: ignore

_A						=			list(good_file_paths())
assert filepaths, "good_file_paths() failed!"

_A						=			[file for file in filepaths if file != file.lower()]
if upper_files:
					print(F"""{len(upper_files)} files contain uppercase characters:""")
					print('\n'.join(upper_files) + '\n')

_A						=			[file for file in filepaths if ' ' in file]
if space_files:
					print(F"""{len(space_files)} files contain space characters:""")
					print('\n'.join(space_files) + '\n')

_A						=			[file for file in filepaths if '-' in file]
if hyphen_files:
					print(F"""{len(hyphen_files)} files contain hyphen characters:""")
					print('\n'.join(hyphen_files) + '\n')

_A						=			[file for file in filepaths if os.sep not in file]
if nodir_files:
					print(F"""{len(nodir_files)} files are not in a directory:""")
					print('\n'.join(nodir_files) + '\n')

_A						=			len(upper_files + space_files + hyphen_files + nodir_files)
if bad_files:
					import sys

					sys.exit(bad_files)






