# link testo https://dynamik.vercel.app/sistemi-operativi/prove/pratica/scritto-2021-06-24-testo.pdf

"""	Esercizio 3
Scrivere uno script o un programma python che corregga l'indentazione di tutti i file .c e .h presenti
nel sottoalbero della directory passata come parametro (la working directory se non vi sono
parametri).
Hint: il comando:
	ex -n '+norm!gg=G' +wq prog.c
corregge l'indentazione del programma sorgente C prog.c.
"""

import os
import sys

def correct_indentation(path):
	for root, dirs, files in os.walk(path):	# sys.argv[1] è la directory passata come parametro
		for file in files:	
			if file.endswith(".c") or file.endswith(".h"):
				os.system("ex -n '+norm!gg=G' +wq " + os.path.join(root, file))	# esegue il comando ex per ogni file .c o .h

if __name__ == "__main__":
	if len(sys.argv) > 1:
		correct_indentation(sys.argv[1])
	else:
		correct_indentation(".")