Przeglądaj źródła

match_against util: better indicate match failures

There was no distinction between dps missing that were optional,
and those that were required.  Output an extra message when
required dps are missing in addition to noting them as missing.
Make the mismatch failures stand out better by putting key
reason for the mismatch in all caps and ending with !!!
Jason Rumney 2 lat temu
rodzic
commit
20335a0973
1 zmienionych plików z 6 dodań i 2 usunięć
  1. 6 2
      util/match_against.py

+ 6 - 2
util/match_against.py

@@ -24,9 +24,11 @@ def main() -> int:
     for dp in config.primary_entity.dps():
         if dp.id not in dps.keys():
             print(f"    {dp.name} missing from data")
+            if not dp.optional:
+                print(f"      dp {dp.id} is REQUIRED!!!!")
         elif not _typematch(dp.type, dps.get(dp.id)):
             print(
-                f"    {dp.name} type mismatch, expected {dp.type.__name__}, got {dps.get(dp.id)}"
+                f"    {dp.name} type MISMATCH, expected {dp.type.__name__}, got {dps.get(dp.id)}!!!"
             )
         else:
             print(f"   {dp.name}: {dp.get_value(device)} from {dp.values(device)}")
@@ -35,9 +37,11 @@ def main() -> int:
         for dp in entity.dps():
             if dp.id not in dps.keys():
                 print(f"    {dp.name} missing from data")
+                if not dp.optional:
+                    print(f"      dp {dp.id} is REQUIRED!!!!")
             elif not _typematch(dp.type, dps.get(dp.id)):
                 print(
-                    f"    {dp.name} type mismatch, expected {dp.type.__name__}, got {dps.get(dp.id)}"
+                    f"    {dp.name} type MISMATCH, expected {dp.type.__name__}, got {dps.get(dp.id)}!!!"
                 )
             else:
                 print(f"    {dp.name}: {dp.get_value(device)}")