Update format_sources.py

This commit is contained in:
Luc 2024-05-29 16:05:11 +08:00
parent ea1eb83a28
commit 75f5a12f4d

View File

@ -3,30 +3,46 @@
import os import os
import subprocess import subprocess
# Base directory of the script def format_sources():
script_path = os.path.abspath(__file__) """
Formats the source code files in the ESP3D project using clang-format with Google style.
# Extract dir path This script recursively searches for C, C++, H, and INO files in the ESP3D project directory
script_dir = os.path.dirname(script_path) and its subdirectories. It then applies the clang-format tool to each file, using the Google
style for formatting.
# Build path of sources dir : ../esp3d Note: Make sure you have clang-format installed and available in your system's PATH.
base_dir = os.path.abspath(os.path.normpath(os.path.join(script_dir, '..', 'esp3d')))
# Parse all c, h , cpp files in all directories and sub directories Returns:
file_paths = [] None
for root, dirs, files in os.walk(base_dir): """
for file in files: # Base directory of the script
if file.endswith(('.c', '.cpp', '.h', '.ino')): script_path = os.path.abspath(__file__)
file_path = os.path.join(root, file)
file_paths.append(os.path.abspath(os.path.normpath(file_path)))
# Now format all files one by one with clang-format # Extract dir path
for file_path in file_paths: script_dir = os.path.dirname(script_path)
tmpPath = '"' + file_path + '"'
print("Formating " + tmpPath, end="") # Build path of sources dir: ../esp3d
try: base_dir = os.path.abspath(os.path.normpath(os.path.join(script_dir, '..', 'esp3d')))
command = ['clang-format', '-i', '--style=Google', file_path]
subprocess.run(command, check=False) # Parse all c, h, cpp, and ino files in all directories and subdirectories
print("=> Ok") file_paths = []
except subprocess.CalledProcessError as e: for root, dirs, files in os.walk(base_dir):
print(f'=>Error : {e}') for file in files:
if file.endswith(('.c', '.cpp', '.h', '.ino')):
file_path = os.path.join(root, file)
file_paths.append(os.path.abspath(os.path.normpath(file_path)))
# Now format all files one by one with clang-format
for file_path in file_paths:
tmpPath = '"' + file_path + '"'
print("Formatting " + tmpPath, end="")
try:
command = ['clang-format', '-i', '--style=Google', file_path]
subprocess.run(command, check=False)
print(" => Ok")
except subprocess.CalledProcessError as e:
print(f'=> Error: {e}')
# Call the format_sources function to format the source code
format_sources()