From d1f3fccc3de3fdc656e5dcff1ce9e379d304d3b2 Mon Sep 17 00:00:00 2001
From: Varac <varac@varac.net>
Date: Sat, 4 Feb 2023 17:18:48 +0100
Subject: [PATCH] Use with

---
 indicator_alertmanager.py | 45 +++++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 23 deletions(-)

diff --git a/indicator_alertmanager.py b/indicator_alertmanager.py
index 257ac8d..6d1ff58 100755
--- a/indicator_alertmanager.py
+++ b/indicator_alertmanager.py
@@ -28,29 +28,28 @@ class Indicator():
         """Initialize idicator."""
 
         # Load config
-        config_file = open(Path.expanduser(config),
-                           encoding="UTF8")  # type:ignore
-        opts = yaml.load(config_file, Loader=yaml.FullLoader)
-        self.url = opts.get('url')
-        self.port = opts.get('port', 443)
-        self.user = opts.get('user', 'admin')
-        self.password = opts.get('password')
-        self.icon_red = os.path.abspath("./prometheus.svg")
-        self.icon_green = os.path.abspath("./prometheus-green.svg")
-
-        self.app = 'alertmanager'
-        self.indicator = AppIndicator3.Indicator.new(
-            self.app, self.icon_green,
-            AppIndicator3.IndicatorCategory.OTHER)
-        self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
-        self.indicator.set_menu(self.create_menu())
-        self.indicator.set_label("Checking…", self.app)
-        # the thread:
-        self.update = Thread(target=self.show_alerts)
-        # daemonize the thread to make the indicator stopable
-        # pylint: disable=deprecated-method
-        self.update.setDaemon(True)
-        self.update.start()
+        with open(Path.expanduser(config), encoding="UTF8") as config_file:  # type:ignore
+            opts = yaml.load(config_file, Loader=yaml.FullLoader)
+            self.url = opts.get('url')
+            self.port = opts.get('port', 443)
+            self.user = opts.get('user', 'admin')
+            self.password = opts.get('password')
+            self.icon_red = os.path.abspath("./prometheus.svg")
+            self.icon_green = os.path.abspath("./prometheus-green.svg")
+
+            self.app = 'alertmanager'
+            self.indicator = AppIndicator3.Indicator.new(
+                self.app, self.icon_green,
+                AppIndicator3.IndicatorCategory.OTHER)
+            self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
+            self.indicator.set_menu(self.create_menu())
+            self.indicator.set_label("Checking…", self.app)
+            # the thread:
+            self.update = Thread(target=self.show_alerts)
+            # daemonize the thread to make the indicator stopable
+            # pylint: disable=deprecated-method
+            self.update.setDaemon(True)
+            self.update.start()
 
     def create_menu(self):
         """Create indicator menu."""
-- 
GitLab