From 3c94b18d5f16301536fc2ec2e1000688d6d1c88d Mon Sep 17 00:00:00 2001
From: Daniel Brown <ddb@star.sr.bham.ac.uk>
Date: Fri, 16 Sep 2016 08:56:27 +0100
Subject: [PATCH] fixing too many file open errors

---
 pykat/__init__.py |  2 +-
 pykat/finesse.py  | 13 +++++++------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/pykat/__init__.py b/pykat/__init__.py
index c9e9696..4789b0b 100644
--- a/pykat/__init__.py
+++ b/pykat/__init__.py
@@ -3,7 +3,7 @@ from __future__ import division
 from __future__ import print_function
 from __future__ import unicode_literals
 
-__version__ = "1.0.11"
+__version__ = "1.0.13"
 
 # This flag is used to switch on the gui features in pkat at import time
 USE_GUI = False
diff --git a/pykat/finesse.py b/pykat/finesse.py
index c26e029..b535e18 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -924,7 +924,9 @@ class kat(object):
    `^-....____:   +.      {1}\n""".format(pykat.__version__, pykat_web))
     
     def loadKatFile(self, katfile, blocks=None):
-        commands=open(katfile).read()
+        with open(katfile) as f:
+            commands= f.read()
+            
         self.parseCommands(commands, blocks=blocks)
     
     def parseKatCode(self, code, blocks=None):
@@ -1444,11 +1446,10 @@ class kat(object):
         Saves the current kat object to a Finesse input file
         """
         try:
-            katScript = "".join(self.generateKatScript())       
-            katfile = open(filename,'w')
-            katfile.writelines(katScript)
-            katfile.flush()
-            katfile.close()
+            with open(filename,'w') as katfile:
+                katScript = "".join(self.generateKatScript())       
+                katfile.writelines(katScript)
+                katfile.flush()
 
         except pkex.BasePyKatException as ex:
             print (ex)
-- 
GitLab