From bc1449744624d67527b0c8ffa36f2d2aa38feb93 Mon Sep 17 00:00:00 2001 From: "igor.udot" Date: Fri, 3 Jan 2025 18:20:57 +0800 Subject: [PATCH] feat: lazy loading for constants and soc_header in bool_parser --- esp_bool_parser/bool_parser.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/esp_bool_parser/bool_parser.py b/esp_bool_parser/bool_parser.py index 0df368e..943ef5d 100644 --- a/esp_bool_parser/bool_parser.py +++ b/esp_bool_parser/bool_parser.py @@ -25,15 +25,6 @@ opAssoc, ) -from .constants import ( - IDF_VERSION, - IDF_VERSION_MAJOR, - IDF_VERSION_MINOR, - IDF_VERSION_PATCH, -) -from .soc_header import ( - SOC_HEADERS, -) from .utils import ( InvalidInput, to_version, @@ -82,6 +73,20 @@ def get_value(self, target: str, config_name: str) -> t.Any: if self.attr == 'IDF_TARGET': return target + if self.attr == 'CONFIG_NAME': + return config_name + + # for non-keyword cap words, check if it is defined in the environment variables + if self.attr in os.environ: + return os.environ[self.attr] + + from .constants import ( + IDF_VERSION, + IDF_VERSION_MAJOR, + IDF_VERSION_MINOR, + IDF_VERSION_PATCH, + ) + if self.attr == 'IDF_VERSION': return IDF_VERSION @@ -94,16 +99,11 @@ def get_value(self, target: str, config_name: str) -> t.Any: if self.attr == 'IDF_VERSION_PATCH': return IDF_VERSION_PATCH - if self.attr == 'CONFIG_NAME': - return config_name + from .soc_header import SOC_HEADERS if self.attr in SOC_HEADERS[target]: return SOC_HEADERS[target][self.attr] - # for non-keyword cap words, check if it is defined in the environment variables - if self.attr in os.environ: - return os.environ[self.attr] - return 0 # default return 0 as false