]> arthur.barton.de Git - netdata.git/commitdiff
fix `NetSocketService` (parsing `request` from configuration file)
authorpaulfantom <paulfantom@gmail.com>
Wed, 6 Jul 2016 16:42:02 +0000 (18:42 +0200)
committerpaulfantom <paulfantom@gmail.com>
Wed, 6 Jul 2016 16:42:02 +0000 (18:42 +0200)
python.d/hddtemp.chart.py
python.d/python_modules/base.py

index 75153b8f8dbf484f7e200d3af99f87d6faa8a5f9..2a549e7312f26f1139c03ea63d8110121a027e93 100644 (file)
@@ -43,7 +43,10 @@ class Service(NetSocketService):
         Get data from TCP/IP socket
         :return: dict
         """
-        raw = self._get_raw_data().split("|")[:-1]
+        try:
+            raw = self._get_raw_data().split("|")[:-1]
+        except AttributeError:
+            return None
         data = {}
         for i in range(len(raw) // 5):
             try:
@@ -59,7 +62,6 @@ class Service(NetSocketService):
         :return: boolean
         """
         self._parse_config()
-
         data = self._get_data()
         if data is None:
             self.error("No data received")
index ca480b8e835d3ebe2803860ff576eac2292ccddd..a1b28d853960685ec228481720b2a1a9acbb9588 100644 (file)
@@ -451,19 +451,21 @@ class NetSocketService(SimpleService):
                 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
                 sock.connect((self.host, self.port))
             except Exception as e:
+                print(e)
                 self.sock = None
                 return None
 
-        try:
-            sock.send(self.request)
-        except Exception:
+        if self.request != "".encode():
             try:
-                sock.shutdown(1)
-                sock.close()
-            except:
-                pass
-            self.sock = None
-            return None
+                sock.send(self.request)
+            except Exception:
+                try:
+                    sock.shutdown(1)
+                    sock.close()
+                except:
+                    pass
+                self.sock = None
+                return None
 
         data = sock.recv(1024)
         try:
@@ -497,7 +499,7 @@ class NetSocketService(SimpleService):
         except (KeyError, TypeError):
             self.error("No port specified. Using: '" + str(self.port) + "'")
         try:
-            self.request = int(self.configuration['request'])
+            self.request = str(self.configuration['request'])
         except (KeyError, TypeError):
             self.error("No request specified. Using: '" + str(self.request) + "'")
         self.request = self.request.encode()