From a6a51d81abae2685e8438c4a0f500dfe8111c8c6 Mon Sep 17 00:00:00 2001
From: "Mads M. Pedersen" <mmpe@dtu.dk>
Date: Tue, 11 Dec 2018 08:20:49 +0100
Subject: [PATCH] Removed pathlib dependency from PBSMultiRunner

---
 wetb/utils/cluster_tools/pbsfile.py | 9 ++++-----
 wetb/utils/tests/test_pbs_file.py   | 9 ++++-----
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/wetb/utils/cluster_tools/pbsfile.py b/wetb/utils/cluster_tools/pbsfile.py
index 8a28d1c3..16217c57 100644
--- a/wetb/utils/cluster_tools/pbsfile.py
+++ b/wetb/utils/cluster_tools/pbsfile.py
@@ -137,7 +137,6 @@ class PBSMultiRunner(PBSFile):
         import os
         import glob
         import numpy as np
-        from pathlib import Path
         import re
 
         # find available nodes
@@ -150,7 +149,8 @@ class PBSMultiRunner(PBSFile):
 
         def get_info(f):
             try:
-                return (f,) + pat.match(Path(f).read_text()).groups()
+                with open(f) as fid:
+                    return (f,) + pat.match(fid.read()).groups()
             except Exception:
                 return (f, f.replace('.in', '.out'), '00:30:00')
         pbs_info_lst = map(get_info, pbs_files)
@@ -164,12 +164,11 @@ class PBSMultiRunner(PBSFile):
 
     def start_jobs(self):
         import os
-        from pathlib import Path
         import multiprocessing
         import platform
         import time
-
-        pbs_info_lst = eval(Path('pbs.dict').read_text())[platform.node()]
+        with open('pbs.dict') as fid:
+            pbs_info_lst = eval(fid.read())[platform.node()]
         arg_lst = ['echo starting %s && mkdir -p %s && env PBS_JOBID=$PBS_JOBID %s &> %s && echo finished %s' %
                    (f, os.path.dirname(o), f, o, f) for f, o, _ in pbs_info_lst]
         print(arg_lst[0])
diff --git a/wetb/utils/tests/test_pbs_file.py b/wetb/utils/tests/test_pbs_file.py
index 3f8e4fa1..117a631b 100644
--- a/wetb/utils/tests/test_pbs_file.py
+++ b/wetb/utils/tests/test_pbs_file.py
@@ -89,7 +89,6 @@ pwd
 echo "import os
 import glob
 import numpy as np
-from pathlib import Path
 import re
 
 # find available nodes
@@ -102,7 +101,8 @@ pat = re.compile(r'[\s\S]*#\s*PBS\s+-o\s+(.*)[\s\S]*(\d\d:\d\d:\d\d)[\s\S]*')
 
 def get_info(f):
     try:
-        return (f,) + pat.match(Path(f).read_text()).groups()
+        with open(f) as fid:
+            return (f,) + pat.match(fid.read()).groups()
     except Exception:
         return (f, f.replace('.in', '.out'), '00:30:00')
 pbs_info_lst = map(get_info, pbs_files)
@@ -122,12 +122,11 @@ do
      ssh -T $node << EOF &
 cd /home/user/tmp
 python -c "import os
-from pathlib import Path
 import multiprocessing
 import platform
 import time
-
-pbs_info_lst = eval(Path('pbs.dict').read_text())[platform.node()]
+with open('pbs.dict') as fid:
+    pbs_info_lst = eval(fid.read())[platform.node()]
 arg_lst = ['echo starting %s && mkdir -p %s && env PBS_JOBID=$PBS_JOBID %s &> %s && echo finished %s' %
            (f, os.path.dirname(o), f, o, f) for f, o, _ in pbs_info_lst]
 print(arg_lst[0])
-- 
GitLab