From 93b6014c55ec9e02a8e6fd1cb0fdc74d0414dabb Mon Sep 17 00:00:00 2001 From: biver Date: Mon, 7 Mar 2022 21:56:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=D1=86?= =?UTF-8?q?=D0=B5=D1=81=D1=81=D0=B0=20=D0=B8=D0=BD=D1=82=D0=B5=D0=B3=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D1=83=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- accembleItems.py | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/accembleItems.py b/accembleItems.py index 6f19c5a7..fae42c91 100644 --- a/accembleItems.py +++ b/accembleItems.py @@ -5,8 +5,12 @@ import json, pprint config = configparser.ConfigParser() # создаём объекта парсера INI allLibs_esp8266_4mb = "" allLibs_esp32_4mb = "" + allMenuItems = json.loads('[]') -allMenuItemsCount = 1; +allMenuItemsCount = 1 + +allAPI_head = "" +allAPI_exec = "" def getDirs(path): @@ -40,6 +44,14 @@ def getMenuItems(patch): allMenuItems = allMenuItems + data +def getAPI(patch): + global allAPI_head, allAPI_exec + for dir in getDirs(patch): + print(patch + dir) + allAPI_head = allAPI_head + "\nvoid* getAPI_" + dir + "(String subtype, String params);" + allAPI_exec = allAPI_exec + "\nif ((tmpAPI = getAPI_" + dir + "(subtype, params)) != nullptr) return tmpAPI;" + + # читаем и запоминаем все либы мз каждого модуля getPIOLibs("src/modules/system/") @@ -69,4 +81,20 @@ getMenuItems("src/modules/lcd/") # сохраняем пункты меню в общий файл with open('data_svelte/items.json', 'w') as f: - json.dump(allMenuItems, f, ensure_ascii=False, indent=4, sort_keys=False) \ No newline at end of file + json.dump(allMenuItems, f, ensure_ascii=False, indent=4, sort_keys=False) + + +# собираем списки API для интеграции вызовов модулей +getAPI("src/modules/system/") +getAPI("src/modules/exec/") +getAPI("src/modules/sensors/") +getAPI("src/modules/lcd/") + +# сохраняем все API в API.cpp +apicpp = '#include "ESPConfiguration.h"\n' +apicpp = apicpp + allAPI_head +apicpp = apicpp + '\n\nvoid* getAPI(String subtype, String params) {\nvoid* tmpAPI;' +apicpp = apicpp + allAPI_exec +apicpp = apicpp + 'return nullptr;\n}' +with open('src/modules/API.cpp', 'w') as f: + f.write(apicpp) \ No newline at end of file