mirror of
https://github.com/wled/WLED.git
synced 2025-07-25 11:46:34 +00:00
load_usermods: Expand name search
Look for 'usermod_v2_x' as well. This could be removed later if we clean up the folder names.
This commit is contained in:
parent
b8685f2c39
commit
4d5e0ca7a3
@ -1,9 +1,26 @@
|
|||||||
Import('env')
|
Import('env')
|
||||||
|
import os
|
||||||
|
|
||||||
|
def find_usermod(mod_dir: str, mod: str):
|
||||||
|
"""Locate this library in the usermods folder.
|
||||||
|
We do this to avoid needing to rename a bunch of folders;
|
||||||
|
this could be removed later
|
||||||
|
"""
|
||||||
|
# Check name match
|
||||||
|
mp = f"{mod_dir}/{mod}"
|
||||||
|
if os.path.exists(mp):
|
||||||
|
return mp
|
||||||
|
mp = f"{mod_dir}/usermod_v2_{mod}"
|
||||||
|
if os.path.exists(mp):
|
||||||
|
return mp
|
||||||
|
raise RuntimeError(f"Couldn't locate module {mod} in usermods directory!")
|
||||||
|
|
||||||
usermods = env.GetProjectOption("custom_usermods","")
|
usermods = env.GetProjectOption("custom_usermods","")
|
||||||
if usermods:
|
if usermods:
|
||||||
proj = env.GetProjectConfig()
|
proj = env.GetProjectConfig()
|
||||||
deps = env.GetProjectOption('lib_deps')
|
deps = env.GetProjectOption('lib_deps')
|
||||||
src_dir = proj.get("platformio", "src_dir")
|
src_dir = proj.get("platformio", "src_dir")
|
||||||
src_dir = src_dir.replace('\\','/')
|
src_dir = src_dir.replace('\\','/')
|
||||||
usermods = [f"{mod} = symlink://{src_dir}/../usermods/{mod}" for mod in usermods.split(" ")]
|
mod_paths = {mod: find_usermod(f"{src_dir}/../usermods", mod) for mod in usermods.split(" ")}
|
||||||
|
usermods = [f"{mod} = symlink://{path}" for mod, path in mod_paths.items()]
|
||||||
proj.set("env:" + env['PIOENV'], 'lib_deps', deps + usermods)
|
proj.set("env:" + env['PIOENV'], 'lib_deps', deps + usermods)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user