mirror of
https://github.com/esphome/esphome.git
synced 2025-08-02 00:17:48 +00:00
preen
This commit is contained in:
parent
dc7b39722d
commit
db59f3ae88
@ -17,27 +17,13 @@ enum EntityCategory : uint32_t {
|
|||||||
ENTITY_CATEGORY_DIAGNOSTIC = 2,
|
ENTITY_CATEGORY_DIAGNOSTIC = 2,
|
||||||
};
|
};
|
||||||
#ifdef USE_COVER
|
#ifdef USE_COVER
|
||||||
enum LegacyCoverState : uint32_t {
|
|
||||||
LEGACY_COVER_STATE_OPEN = 0,
|
|
||||||
LEGACY_COVER_STATE_CLOSED = 1,
|
|
||||||
};
|
|
||||||
enum CoverOperation : uint32_t {
|
enum CoverOperation : uint32_t {
|
||||||
COVER_OPERATION_IDLE = 0,
|
COVER_OPERATION_IDLE = 0,
|
||||||
COVER_OPERATION_IS_OPENING = 1,
|
COVER_OPERATION_IS_OPENING = 1,
|
||||||
COVER_OPERATION_IS_CLOSING = 2,
|
COVER_OPERATION_IS_CLOSING = 2,
|
||||||
};
|
};
|
||||||
enum LegacyCoverCommand : uint32_t {
|
|
||||||
LEGACY_COVER_COMMAND_OPEN = 0,
|
|
||||||
LEGACY_COVER_COMMAND_CLOSE = 1,
|
|
||||||
LEGACY_COVER_COMMAND_STOP = 2,
|
|
||||||
};
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_FAN
|
#ifdef USE_FAN
|
||||||
enum FanSpeed : uint32_t {
|
|
||||||
FAN_SPEED_LOW = 0,
|
|
||||||
FAN_SPEED_MEDIUM = 1,
|
|
||||||
FAN_SPEED_HIGH = 2,
|
|
||||||
};
|
|
||||||
enum FanDirection : uint32_t {
|
enum FanDirection : uint32_t {
|
||||||
FAN_DIRECTION_FORWARD = 0,
|
FAN_DIRECTION_FORWARD = 0,
|
||||||
FAN_DIRECTION_REVERSE = 1,
|
FAN_DIRECTION_REVERSE = 1,
|
||||||
@ -65,11 +51,6 @@ enum SensorStateClass : uint32_t {
|
|||||||
STATE_CLASS_TOTAL_INCREASING = 2,
|
STATE_CLASS_TOTAL_INCREASING = 2,
|
||||||
STATE_CLASS_TOTAL = 3,
|
STATE_CLASS_TOTAL = 3,
|
||||||
};
|
};
|
||||||
enum SensorLastResetType : uint32_t {
|
|
||||||
LAST_RESET_NONE = 0,
|
|
||||||
LAST_RESET_NEVER = 1,
|
|
||||||
LAST_RESET_AUTO = 2,
|
|
||||||
};
|
|
||||||
#endif
|
#endif
|
||||||
enum LogLevel : uint32_t {
|
enum LogLevel : uint32_t {
|
||||||
LOG_LEVEL_NONE = 0,
|
LOG_LEVEL_NONE = 0,
|
||||||
@ -204,15 +185,6 @@ enum BluetoothScannerMode : uint32_t {
|
|||||||
BLUETOOTH_SCANNER_MODE_ACTIVE = 1,
|
BLUETOOTH_SCANNER_MODE_ACTIVE = 1,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
enum VoiceAssistantSubscribeFlag : uint32_t {
|
|
||||||
VOICE_ASSISTANT_SUBSCRIBE_NONE = 0,
|
|
||||||
VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO = 1,
|
|
||||||
};
|
|
||||||
enum VoiceAssistantRequestFlag : uint32_t {
|
|
||||||
VOICE_ASSISTANT_REQUEST_NONE = 0,
|
|
||||||
VOICE_ASSISTANT_REQUEST_USE_VAD = 1,
|
|
||||||
VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD = 2,
|
|
||||||
};
|
|
||||||
#ifdef USE_VOICE_ASSISTANT
|
#ifdef USE_VOICE_ASSISTANT
|
||||||
enum VoiceAssistantEvent : uint32_t {
|
enum VoiceAssistantEvent : uint32_t {
|
||||||
VOICE_ASSISTANT_ERROR = 0,
|
VOICE_ASSISTANT_ERROR = 0,
|
||||||
|
@ -23,16 +23,6 @@ template<> const char *proto_enum_to_string<enums::EntityCategory>(enums::Entity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef USE_COVER
|
#ifdef USE_COVER
|
||||||
template<> const char *proto_enum_to_string<enums::LegacyCoverState>(enums::LegacyCoverState value) {
|
|
||||||
switch (value) {
|
|
||||||
case enums::LEGACY_COVER_STATE_OPEN:
|
|
||||||
return "LEGACY_COVER_STATE_OPEN";
|
|
||||||
case enums::LEGACY_COVER_STATE_CLOSED:
|
|
||||||
return "LEGACY_COVER_STATE_CLOSED";
|
|
||||||
default:
|
|
||||||
return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
template<> const char *proto_enum_to_string<enums::CoverOperation>(enums::CoverOperation value) {
|
template<> const char *proto_enum_to_string<enums::CoverOperation>(enums::CoverOperation value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case enums::COVER_OPERATION_IDLE:
|
case enums::COVER_OPERATION_IDLE:
|
||||||
@ -45,32 +35,8 @@ template<> const char *proto_enum_to_string<enums::CoverOperation>(enums::CoverO
|
|||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
template<> const char *proto_enum_to_string<enums::LegacyCoverCommand>(enums::LegacyCoverCommand value) {
|
|
||||||
switch (value) {
|
|
||||||
case enums::LEGACY_COVER_COMMAND_OPEN:
|
|
||||||
return "LEGACY_COVER_COMMAND_OPEN";
|
|
||||||
case enums::LEGACY_COVER_COMMAND_CLOSE:
|
|
||||||
return "LEGACY_COVER_COMMAND_CLOSE";
|
|
||||||
case enums::LEGACY_COVER_COMMAND_STOP:
|
|
||||||
return "LEGACY_COVER_COMMAND_STOP";
|
|
||||||
default:
|
|
||||||
return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_FAN
|
#ifdef USE_FAN
|
||||||
template<> const char *proto_enum_to_string<enums::FanSpeed>(enums::FanSpeed value) {
|
|
||||||
switch (value) {
|
|
||||||
case enums::FAN_SPEED_LOW:
|
|
||||||
return "FAN_SPEED_LOW";
|
|
||||||
case enums::FAN_SPEED_MEDIUM:
|
|
||||||
return "FAN_SPEED_MEDIUM";
|
|
||||||
case enums::FAN_SPEED_HIGH:
|
|
||||||
return "FAN_SPEED_HIGH";
|
|
||||||
default:
|
|
||||||
return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
template<> const char *proto_enum_to_string<enums::FanDirection>(enums::FanDirection value) {
|
template<> const char *proto_enum_to_string<enums::FanDirection>(enums::FanDirection value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case enums::FAN_DIRECTION_FORWARD:
|
case enums::FAN_DIRECTION_FORWARD:
|
||||||
@ -127,18 +93,6 @@ template<> const char *proto_enum_to_string<enums::SensorStateClass>(enums::Sens
|
|||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
template<> const char *proto_enum_to_string<enums::SensorLastResetType>(enums::SensorLastResetType value) {
|
|
||||||
switch (value) {
|
|
||||||
case enums::LAST_RESET_NONE:
|
|
||||||
return "LAST_RESET_NONE";
|
|
||||||
case enums::LAST_RESET_NEVER:
|
|
||||||
return "LAST_RESET_NEVER";
|
|
||||||
case enums::LAST_RESET_AUTO:
|
|
||||||
return "LAST_RESET_AUTO";
|
|
||||||
default:
|
|
||||||
return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
template<> const char *proto_enum_to_string<enums::LogLevel>(enums::LogLevel value) {
|
template<> const char *proto_enum_to_string<enums::LogLevel>(enums::LogLevel value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
@ -427,29 +381,6 @@ template<> const char *proto_enum_to_string<enums::BluetoothScannerMode>(enums::
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
template<>
|
|
||||||
const char *proto_enum_to_string<enums::VoiceAssistantSubscribeFlag>(enums::VoiceAssistantSubscribeFlag value) {
|
|
||||||
switch (value) {
|
|
||||||
case enums::VOICE_ASSISTANT_SUBSCRIBE_NONE:
|
|
||||||
return "VOICE_ASSISTANT_SUBSCRIBE_NONE";
|
|
||||||
case enums::VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO:
|
|
||||||
return "VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO";
|
|
||||||
default:
|
|
||||||
return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
template<> const char *proto_enum_to_string<enums::VoiceAssistantRequestFlag>(enums::VoiceAssistantRequestFlag value) {
|
|
||||||
switch (value) {
|
|
||||||
case enums::VOICE_ASSISTANT_REQUEST_NONE:
|
|
||||||
return "VOICE_ASSISTANT_REQUEST_NONE";
|
|
||||||
case enums::VOICE_ASSISTANT_REQUEST_USE_VAD:
|
|
||||||
return "VOICE_ASSISTANT_REQUEST_USE_VAD";
|
|
||||||
case enums::VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD:
|
|
||||||
return "VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD";
|
|
||||||
default:
|
|
||||||
return "UNKNOWN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifdef USE_VOICE_ASSISTANT
|
#ifdef USE_VOICE_ASSISTANT
|
||||||
template<> const char *proto_enum_to_string<enums::VoiceAssistantEvent>(enums::VoiceAssistantEvent value) {
|
template<> const char *proto_enum_to_string<enums::VoiceAssistantEvent>(enums::VoiceAssistantEvent value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
|
@ -971,11 +971,11 @@ class RepeatedTypeInfo(TypeInfo):
|
|||||||
|
|
||||||
def build_type_usage_map(
|
def build_type_usage_map(
|
||||||
file_desc: descriptor.FileDescriptorProto,
|
file_desc: descriptor.FileDescriptorProto,
|
||||||
) -> tuple[dict[str, str | None], dict[str, str | None], dict[str, int]]:
|
) -> tuple[dict[str, str | None], dict[str, str | None], dict[str, int], set[str]]:
|
||||||
"""Build mappings for both enums and messages to their ifdefs based on usage.
|
"""Build mappings for both enums and messages to their ifdefs based on usage.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
tuple: (enum_ifdef_map, message_ifdef_map, message_source_map)
|
tuple: (enum_ifdef_map, message_ifdef_map, message_source_map, used_enums)
|
||||||
"""
|
"""
|
||||||
enum_ifdef_map: dict[str, str | None] = {}
|
enum_ifdef_map: dict[str, str | None] = {}
|
||||||
message_ifdef_map: dict[str, str | None] = {}
|
message_ifdef_map: dict[str, str | None] = {}
|
||||||
@ -988,6 +988,9 @@ def build_type_usage_map(
|
|||||||
message_usage: dict[
|
message_usage: dict[
|
||||||
str, set[str]
|
str, set[str]
|
||||||
] = {} # message_name -> set of message names that use it
|
] = {} # message_name -> set of message names that use it
|
||||||
|
used_enums: set[str] = (
|
||||||
|
set()
|
||||||
|
) # Track which enums are actually used by non-deprecated fields
|
||||||
|
|
||||||
# Build message name to ifdef mapping for quick lookup
|
# Build message name to ifdef mapping for quick lookup
|
||||||
message_to_ifdef: dict[str, str | None] = {
|
message_to_ifdef: dict[str, str | None] = {
|
||||||
@ -997,13 +1000,18 @@ def build_type_usage_map(
|
|||||||
# Analyze field usage
|
# Analyze field usage
|
||||||
for message in file_desc.message_type:
|
for message in file_desc.message_type:
|
||||||
for field in message.field:
|
for field in message.field:
|
||||||
|
# Skip deprecated fields when tracking enum usage
|
||||||
|
if field.options.deprecated:
|
||||||
|
continue
|
||||||
|
|
||||||
type_name = field.type_name.split(".")[-1] if field.type_name else None
|
type_name = field.type_name.split(".")[-1] if field.type_name else None
|
||||||
if not type_name:
|
if not type_name:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Track enum usage
|
# Track enum usage (only from non-deprecated fields)
|
||||||
if field.type == 14: # TYPE_ENUM
|
if field.type == 14: # TYPE_ENUM
|
||||||
enum_usage.setdefault(type_name, set()).add(message.name)
|
enum_usage.setdefault(type_name, set()).add(message.name)
|
||||||
|
used_enums.add(type_name)
|
||||||
# Track message usage
|
# Track message usage
|
||||||
elif field.type == 11: # TYPE_MESSAGE
|
elif field.type == 11: # TYPE_MESSAGE
|
||||||
message_usage.setdefault(type_name, set()).add(message.name)
|
message_usage.setdefault(type_name, set()).add(message.name)
|
||||||
@ -1103,7 +1111,7 @@ def build_type_usage_map(
|
|||||||
# Not used by any message and no explicit source - default to encode-only
|
# Not used by any message and no explicit source - default to encode-only
|
||||||
message_source_map[msg.name] = SOURCE_SERVER
|
message_source_map[msg.name] = SOURCE_SERVER
|
||||||
|
|
||||||
return enum_ifdef_map, message_ifdef_map, message_source_map
|
return enum_ifdef_map, message_ifdef_map, message_source_map, used_enums
|
||||||
|
|
||||||
|
|
||||||
def build_enum_type(desc, enum_ifdef_map) -> tuple[str, str, str]:
|
def build_enum_type(desc, enum_ifdef_map) -> tuple[str, str, str]:
|
||||||
@ -1686,7 +1694,9 @@ namespace api {
|
|||||||
content += "namespace enums {\n\n"
|
content += "namespace enums {\n\n"
|
||||||
|
|
||||||
# Build dynamic ifdef mappings for both enums and messages
|
# Build dynamic ifdef mappings for both enums and messages
|
||||||
enum_ifdef_map, message_ifdef_map, message_source_map = build_type_usage_map(file)
|
enum_ifdef_map, message_ifdef_map, message_source_map, used_enums = (
|
||||||
|
build_type_usage_map(file)
|
||||||
|
)
|
||||||
|
|
||||||
# Simple grouping of enums by ifdef
|
# Simple grouping of enums by ifdef
|
||||||
current_ifdef = None
|
current_ifdef = None
|
||||||
@ -1696,6 +1706,10 @@ namespace api {
|
|||||||
if enum.options.deprecated:
|
if enum.options.deprecated:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# Skip enums that aren't used by any non-deprecated fields
|
||||||
|
if enum.name not in used_enums:
|
||||||
|
continue
|
||||||
|
|
||||||
s, c, dc = build_enum_type(enum, enum_ifdef_map)
|
s, c, dc = build_enum_type(enum, enum_ifdef_map)
|
||||||
enum_ifdef = enum_ifdef_map.get(enum.name)
|
enum_ifdef = enum_ifdef_map.get(enum.name)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user