Scale back warnings.warn and add stacklevels= where appropriate.
[python_utils.git] / base_presence.py
index b38b436be2820a3fd36637569d76eaae86d2aee7..405b743f90e33a85394528403f06bce71d153cc8 100755 (executable)
@@ -115,8 +115,8 @@ class PresenceDetection(object):
         except Exception as e:
             logger.exception(e)
             msg = "Can't see the cabin right now; presence detection impared."
-            logger.warning(msg)
             warnings.warn(msg)
+            logger.warning(msg, stacklevel=2)
             self.dark_locations.add(Location.CABIN)
 
     def update_from_cabin(self) -> None:
@@ -136,7 +136,7 @@ class PresenceDetection(object):
             logger.exception(e)
             msg = "Can't see the house right now; presence detection impared."
             logger.warning(msg)
-            warnings.warn(msg)
+            warnings.warn(msg, stacklevel=2)
             self.dark_locations.add(Location.HOUSE)
 
     def read_persisted_macs_file(
@@ -200,7 +200,7 @@ class PresenceDetection(object):
         if len(self.dark_locations) > 0:
             msg = f"Can't see {self.dark_locations} right now; answer confidence impacted"
             logger.warning(msg)
-            warnings.warn(msg)
+            warnings.warn(msg, stacklevel=2)
         logger.debug(f'Looking for {name}...')
 
         if name is Person.UNKNOWN: