From 700b2620e3c9448ea9dfdb23fccffe4053926d18 Mon Sep 17 00:00:00 2001
From: Daniel Brown <Daniel Brown>
Date: Tue, 3 May 2016 23:28:44 +0100
Subject: [PATCH] fixing computation time parsing, more utf8 stuff

---
 pykat/finesse.py | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/pykat/finesse.py b/pykat/finesse.py
index 2ca71c9..08d1fae 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -1541,16 +1541,18 @@ class kat(object):
 			
             (stdout, stderr) = p.communicate()
 
-            r.stdout = stdout #.decode('unicode_escape')
-            r.stderr = stderr #.decode('unicode_escape')
+            r.stdout = stdout.decode('utf-8')
+            r.stderr = stderr.decode('utf-8')
             
-            for line in r.stdout[::-1]:
-                if line.lstrip().startswith('computation time:'):
-                    try:
-                        r.runtime = float(line.split(":")[1].replace("s",""))
-                    except:
-                        r.runtime = 0.0
+            k = r.stdout.rfind('computation time:')
             
+            if k > 0:
+                try:
+                    line = r.stdout[k:]
+                    r.runtime = float(line.split(":")[1].replace("s",""))
+                except:
+                    r.runtime = 0.0
+    
             r.runDateTime = datetime.datetime.now()
 
             # If Finesse returned an error, just print that and exit!
-- 
GitLab