From 046ab2055162b41e7cab259be5fbd9f0877facc9 Mon Sep 17 00:00:00 2001 From: Gilles DAVID Date: Wed, 29 Mar 2017 18:33:41 +0200 Subject: [PATCH] Porting to Python 3 (1st draft) --- src/Core/Test/test_script.py | 12 ++++++------ src/Python/CMakeLists.txt | 2 +- src/Python/Test/Test_Python_Local_SH.py | 26 ++++++++++++------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Core/Test/test_script.py b/src/Core/Test/test_script.py index f4073ce..ea1b2ee 100755 --- a/src/Core/Test/test_script.py +++ b/src/Core/Test/test_script.py @@ -4,13 +4,13 @@ import sys import os if len(sys.argv) != 4: - print "Usage: test-script.py seta.py setb.py result.txt" + print("Usage: test-script.py seta.py setb.py result.txt") -execfile(sys.argv[1]) -execfile(sys.argv[2]) +exec(compile(open(sys.argv[1]).read(), sys.argv[1], 'exec')) +exec(compile(open(sys.argv[2]).read(), sys.argv[2], 'exec')) c = a * b -f = open(sys.argv[3], "w") -f.write('MYENVVAR = "%s"\n' % os.getenv("MYENVVAR")) -f.write("c = %d\n" % c) +with open(sys.argv[3], "w") as f: + f.write('MYENVVAR = "%s"\n' % os.getenv("MYENVVAR")) + f.write("c = %d\n" % c) diff --git a/src/Python/CMakeLists.txt b/src/Python/CMakeLists.txt index b5cdeb8..97ead09 100644 --- a/src/Python/CMakeLists.txt +++ b/src/Python/CMakeLists.txt @@ -41,7 +41,7 @@ SET(SWIG_LB_DPYS ) SET_SOURCE_FILES_PROPERTIES(${SWIG_SRC_FILE} PROPERTIES CPLUSPLUS ON - SWIG_FLAGS "-shadow") + SWIG_FLAGS "-py3") # SWIG source file and module name differ - the following needs to be # set to avoid unnecessary rebuilds: SET_SOURCE_FILES_PROPERTIES(${SWIG_SRC_FILE} PROPERTIES SWIG_MODULE_NAME libbatch) diff --git a/src/Python/Test/Test_Python_Local_SH.py b/src/Python/Test/Test_Python_Local_SH.py index 2cffb57..9fbd7a0 100644 --- a/src/Python/Test/Test_Python_Local_SH.py +++ b/src/Python/Test/Test_Python_Local_SH.py @@ -29,10 +29,10 @@ import time from libbatch import * def work(): - print "*******************************************************************************************" - print "This script tests the local batch submission based on SH. No specific configuration is" - print "needed for this test." - print "*******************************************************************************************" + print("*******************************************************************************************") + print("This script tests the local batch submission based on SH. No specific configuration is") + print("needed for this test.") + print("*******************************************************************************************") # eventually remove any previous result if (os.path.exists("resultdir/seconddirname/result.txt")): @@ -54,7 +54,7 @@ def work(): e = {} e["MYENVVAR"] = "MYVALUE"; job.setEnvironnement(e) - print job + print(job) # Get the catalog c = BatchManagerCatalog.getInstance() @@ -64,7 +64,7 @@ def work(): # Submit the job to the BatchManager jobid = bm.submitJob(job) - print jobid + print(jobid) # Query the job jobid.queryJob() @@ -74,28 +74,28 @@ def work(): if state == FINISHED: - print "Job", jobid, "is done" + print("Job", jobid, "is done") bm.importOutputFiles(job, "resultdir/seconddirname") elif state == FAILED: - print "Job", jobid, " finished in error" + print("Job", jobid, " finished in error") bm.importOutputFiles(job, "resultdir/seconddirname") return 1 else: - print "Timeout while executing job" + print("Timeout while executing job") return 1 if state != FINISHED and state != FAILED: - print "Error: Job not finished after timeout" + print("Error: Job not finished after timeout") return 1; # test the result file res = {} - execfile('resultdir/seconddirname/result.txt', res) + exec(compile(open('resultdir/seconddirname/result.txt').read(), 'resultdir/seconddirname/result.txt', 'exec'), res) if (res["c"] == 12 and res["MYENVVAR"] == "MYVALUE"): - print "OK, Expected result found." + print("OK, Expected result found.") return 0 else: - print "result found : %s, expected : %s" % (res, 'res["c"] == 12 and res["MYENVVAR"] == "MYVALUE"') + print("result found : %s, expected : %s" % (res, 'res["c"] == 12 and res["MYENVVAR"] == "MYVALUE"')) return 1 if __name__ == "__main__": -- 2.39.2