* simplify post_esp32.py * make sure path has correct "\" or "/" regarding OS * add os specific path separators * more path possible issues corrections * add function to normpath cmd * set board_build.variants_dir = variants/tasmota correctly for OS
47 lines
2.0 KiB
Python
47 lines
2.0 KiB
Python
Import('env')
|
|
|
|
|
|
import os
|
|
import pathlib
|
|
import shutil
|
|
from colorama import Fore, Back, Style
|
|
|
|
# Ensure the variants directory is correctly formatted based on the OS
|
|
# This is necessary to avoid issues with path handling in different environments
|
|
variants_dir = env.BoardConfig().get("build.variants_dir", "")
|
|
if variants_dir:
|
|
if os.name == "nt":
|
|
variants_dir = variants_dir.replace("/", "\\")
|
|
env.BoardConfig().update("build.variants_dir", variants_dir)
|
|
else:
|
|
variants_dir = variants_dir.replace("\\", "/")
|
|
env.BoardConfig().update("build.variants_dir", variants_dir)
|
|
|
|
project_dir = os.path.normpath(env["PROJECT_DIR"])
|
|
if " " in project_dir:
|
|
print(Fore.RED + "*** Whitespace(s) in project path, unexpected issues/errors can happen ***")
|
|
|
|
# copy tasmota/user_config_override_sample.h to tasmota/user_config_override.h
|
|
uc_override = pathlib.Path(os.path.normpath("tasmota/user_config_override.h"))
|
|
uc_override_sample = pathlib.Path(os.path.normpath("tasmota/user_config_override_sample.h"))
|
|
if uc_override.is_file():
|
|
print(Fore.GREEN + "*** use provided user_config_override.h as planned ***")
|
|
else:
|
|
shutil.copy(str(uc_override_sample), str(uc_override))
|
|
|
|
# copy platformio_override_sample.ini to platformio_override.ini
|
|
pio_override = pathlib.Path(os.path.normpath("platformio_override.ini"))
|
|
pio_override_sample = pathlib.Path(os.path.normpath("platformio_override_sample.ini"))
|
|
if pio_override.is_file():
|
|
print(Fore.GREEN + "*** use provided platformio_override.ini as planned ***")
|
|
else:
|
|
shutil.copy(str(pio_override_sample), str(pio_override))
|
|
|
|
# copy platformio_tasmota_cenv_sample.ini to platformio_tasmota_cenv.ini
|
|
pio_cenv = pathlib.Path(os.path.normpath("platformio_tasmota_cenv.ini"))
|
|
pio_cenv_sample = pathlib.Path(os.path.normpath("platformio_tasmota_cenv_sample.ini"))
|
|
if pio_cenv.is_file():
|
|
print(Fore.GREEN + "*** use provided platformio_tasmota_cenv.ini as planned ***")
|
|
else:
|
|
shutil.copy(str(pio_cenv_sample), str(pio_cenv))
|