From 3b24b5b74b94866adee9df338d20c026705e0f83 Mon Sep 17 00:00:00 2001
From: Seth Hillbrand <seth@kipro-pcb.com>
Date: Mon, 24 Feb 2025 14:13:36 -0800
Subject: [PATCH] Fix SWIG QA

---
 pcbnew/python/swig/footprint.i | 19 ++++++++-----------
 pcbnew/python/swig/pcb_field.i |  2 ++
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/pcbnew/python/swig/footprint.i b/pcbnew/python/swig/footprint.i
index 70ffc22536..0a00276403 100644
--- a/pcbnew/python/swig/footprint.i
+++ b/pcbnew/python/swig/footprint.i
@@ -70,28 +70,25 @@
 
     def GetFieldText(self, key):
       """ Returns Field text with a given key if it exists, throws KeyError otherwise. """
-      if self.HasFieldByName(key):
-        return self.GetFieldByName(key).GetText()
+      if self.HasField(key):
+        return self.GetField(key).GetText()
       else:
         raise KeyError("Field not found: " + key)
 
     def GetFieldShownText(self, key):
       """ Returns Field shown text with a given key if it exists, throws KeyError otherwise. """
-      if self.HasFieldByName(key):
-        return self.GetFieldByName(key).GetShownText(False)
+      if self.HasField(key):
+        return self.GetField(key).GetShownText(False)
       else:
         raise KeyError("Field not found: " + key)
 
     def SetField(self, key, value):
-      if self.HasFieldByName(key):
-        self.GetFieldByName(key).SetText(value)
+      if self.HasField(key):
+        self.GetField(key).SetText(value)
       else:
-        field = PCB_FIELD(self, self.GetNextFieldId(), key)
+        field = PCB_FIELD(self, FIELD_T_USER, key)
         field.SetText(value)
-        self.AddField(field)
-
-    def HasField(self, key):
-      return self.HasFieldByName(key)
+        self.Add(field)
 
     def SetFields(self, fields):
       """ Sets footprint fields map. """
diff --git a/pcbnew/python/swig/pcb_field.i b/pcbnew/python/swig/pcb_field.i
index 7aef39351b..2ea50a6b33 100644
--- a/pcbnew/python/swig/pcb_field.i
+++ b/pcbnew/python/swig/pcb_field.i
@@ -1,7 +1,9 @@
 
 
 %include pcb_field.h
+%include template_fieldnames.h
 %{
 #include <pcb_field.h>
+#include <template_fieldnames.h>
 %}