#!/usr/bin/env python3 """Detailed test of mapping #35 to see exact parameter extraction""" import sys sys.path.insert(0, r'C:\DEV\COPILOT\geutebruck-api\src\api') import grpc import json from protos import configuration_pb2 from protos import configuration_pb2_grpc def test_detailed_mapping_35(): with grpc.insecure_channel('localhost:50051') as channel: stub = configuration_pb2_grpc.ConfigurationServiceStub(channel) request = configuration_pb2.ReadActionMappingsRequest() response = stub.ReadActionMappings(request) if not response.success: print(f"Failed: {response.error_message}") return # Get mapping #35 (0-based index = 34) if len(response.mappings) < 35: print(f"Only {len(response.mappings)} mappings found") return mapping = response.mappings[34] # 0-based index print(f"=== Mapping #35 (ID 35) ===") print(f"Offset: {mapping.start_offset}") print(f"Name: {mapping.name[:100] if mapping.name else 'None'}") print() print(f"=== Old format actions ({len(mapping.actions)}) ===") for i, action in enumerate(mapping.actions, 1): print(f" {i}. {action}") print() print(f"=== Input actions ({len(mapping.input_actions)}) ===") for i, action_def in enumerate(mapping.input_actions, 1): print(f" {i}. Action: {action_def.action}") if action_def.parameters: print(f" Parameters ({len(action_def.parameters)}):") for param in action_def.parameters: print(f" - {param.name}: {param.value}") print() print(f"=== Output actions ({len(mapping.output_actions)}) ===") for i, action_def in enumerate(mapping.output_actions, 1): print(f"\n Action #{i}: {action_def.action}") if action_def.parameters: print(f" Parameters ({len(action_def.parameters)}):") for param in action_def.parameters: # Truncate long values value = param.value if len(value) > 100: value = value[:100] + "..." print(f" - {param.name}: {value}") else: print(f" Parameters: NONE") if __name__ == '__main__': test_detailed_mapping_35()