From 3ad7e51771032fa8652edf9da07b3cbc12823934 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz>
Date: Tue, 2 May 2017 11:54:57 +0000
Subject: [PATCH] Fixed incomplete lines

---
 warden3/contrib/connectors/hp-labrea/labrea-idea.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/warden3/contrib/connectors/hp-labrea/labrea-idea.py b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
index 89ef6f1..1d383c0 100755
--- a/warden3/contrib/connectors/hp-labrea/labrea-idea.py
+++ b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
@@ -20,6 +20,7 @@ class FileWatcher(object):
     def __init__(self, filename, tail=True):
         self.filename = filename
         self.open()
+        self.line_buffer = ""
         if tail and self.f:
             self.f.seek(0, os.SEEK_END)
 
@@ -48,14 +49,19 @@ class FileWatcher(object):
         if not self.f:
             self.open()
             if not self.f:
-                return ""
+                return self.line_buffer
         res = self.f.readline()
         if not res:
             self._check_reopen()
             if not self.f:
-                return ""
+                return self.line_buffer
             res = self.f.readline()
-        return res
+        if not res.endswith("\n"):
+            self.line_buffer += res
+        else:
+            res = self.line_buffer + res
+            self.line_buffer = ""
+            return res
 
     def close(self):
         try:
-- 
GitLab