From ccd29874a0bd20ce4f58798172e9d3e2fa50c8ac Mon Sep 17 00:00:00 2001 From: anaHue Date: Thu, 10 Mar 2022 19:04:12 +0100 Subject: [PATCH 01/10] add - correct common run file --- .../Translations/translations_run => }/run | 13 +++--- 105_java/run | 40 ------------------- 106_java/run | 40 ------------------- 108_java/run | 40 ------------------- 111_java/run | 40 ------------------- 112_java/run | 40 ------------------- 14_java/run | 40 ------------------- 85_java/run | 40 ------------------- 87_java/run | 40 ------------------- 88_java/run | 40 ------------------- m01Q10/run | 40 ------------------- m01Q11/run | 40 ------------------- m01Q12/run | 40 ------------------- m01Q13/run | 40 ------------------- m01Q14/run | 40 ------------------- m01Q15/run | 40 ------------------- m01Q16/run | 40 ------------------- m01Q17/run | 40 ------------------- m01Q18/run | 40 ------------------- m01Q2/run | 40 ------------------- m01Q20/run | 40 ------------------- m01Q3/run | 40 ------------------- m01Q4/run | 40 ------------------- m01Q5/run | 40 ------------------- m01Q6/run | 40 ------------------- m01Q7/run | 40 ------------------- m01Q8/run | 40 ------------------- m01Q9/run | 40 ------------------- m01_bf/run | 40 ------------------- m02Q1/run | 40 ------------------- m02Q10/run | 40 ------------------- m02Q3/run | 40 ------------------- m02Q4/run | 40 ------------------- m02Q5/run | 40 ------------------- m02Q6/run | 40 ------------------- m02Q7/run | 40 ------------------- m02Q8/run | 40 ------------------- m02Q9/run | 40 ------------------- m02_bf/run | 40 ------------------- m02dem2/run | 40 ------------------- m02dem3/run | 40 ------------------- m02dem4/run | 40 ------------------- m02dem5/run | 40 ------------------- m02real/run | 40 ------------------- m03Q1/run | 40 ------------------- m03Q2/run | 40 ------------------- m03Q3/run | 40 ------------------- m03Q4/run | 40 ------------------- m03Q5/run | 40 ------------------- m03Q6/run | 40 ------------------- m03Q7/run | 40 ------------------- m03_bf/run | 40 ------------------- m03dem2/run | 40 ------------------- m03dem3/run | 40 ------------------- m03dem4/run | 40 ------------------- m03dem5/run | 40 ------------------- m03real1/run | 40 ------------------- m04Q1/run | 40 ------------------- m04Q10/run | 40 ------------------- m04Q11/run | 40 ------------------- m04Q2/run | 40 ------------------- m04Q3/run | 40 ------------------- m04Q4/run | 40 ------------------- m04Q5/run | 40 ------------------- m04Q6/run | 40 ------------------- m04Q7/run | 40 ------------------- m04Q8/run | 40 ------------------- m04Q9/run | 40 ------------------- m04_bf/run | 40 ------------------- m04dem1/run | 40 ------------------- m04dem2/run | 40 ------------------- m04dem3/run | 40 ------------------- m04dem4/run | 40 ------------------- m04dem5/run | 40 ------------------- m04real/run | 40 ------------------- m05Q1/run | 40 ------------------- m05Q10/run | 40 ------------------- m05Q11/run | 40 ------------------- m05Q12/run | 40 ------------------- m05Q2/run | 40 ------------------- m05Q3/run | 40 ------------------- m05Q4/run | 40 ------------------- m05Q5/run | 40 ------------------- m05Q6/run | 40 ------------------- m05Q7/run | 40 ------------------- m05Q8/run | 40 ------------------- m05Q9/run | 40 ------------------- m05_bf/run | 40 ------------------- m05dem1/run | 40 ------------------- m05dem2/run | 40 ------------------- m05dem3/run | 40 ------------------- m05dem4/run | 40 ------------------- m05dem5/run | 40 ------------------- m05real/run | 40 ------------------- m06Q1/run | 40 ------------------- m06Q10/run | 40 ------------------- m06Q11/run | 40 ------------------- m06Q2/run | 40 ------------------- m06Q3/run | 40 ------------------- m06Q4/run | 40 ------------------- m06Q5/run | 40 ------------------- m06Q6/run | 40 ------------------- m06Q7/run | 40 ------------------- m06Q8/run | 40 ------------------- m06Q9/run | 40 ------------------- m06_bf/run | 40 ------------------- m06dem1/run | 40 ------------------- m06dem2/run | 40 ------------------- m06dem3/run | 40 ------------------- m06dem4/run | 40 ------------------- m06real/run | 40 ------------------- m07Q1/run | 40 ------------------- m07Q10/run | 40 ------------------- m07Q11/run | 40 ------------------- m07Q2/run | 40 ------------------- m07Q3/run | 40 ------------------- m07Q4/run | 40 ------------------- m07Q5/run | 40 ------------------- m07Q6/run | 40 ------------------- m07Q7/run | 40 ------------------- m07Q8/run | 40 ------------------- m07Q9/run | 40 ------------------- m07_bf/run | 40 ------------------- m07dem1/run | 40 ------------------- m07dem2/run | 40 ------------------- m07real/run | 40 ------------------- m08Q1/run | 40 ------------------- m08Q2/run | 40 ------------------- m08Q3/run | 40 ------------------- m08Q4/run | 40 ------------------- m08Q5/run | 40 ------------------- m08Q6/run | 40 ------------------- m08Q7/run | 40 ------------------- m08dem1/run | 40 ------------------- m08dem2/run | 40 ------------------- m08real/run | 40 ------------------- m09Q1/run | 40 ------------------- m09Q2/run | 40 ------------------- m09Q3/run | 40 ------------------- m09Q4/run | 40 ------------------- m09Q5/run | 40 ------------------- m09Q6/run | 40 ------------------- m09Q7/run | 40 ------------------- m09_bf/run | 40 ------------------- m09dem1/run | 40 ------------------- m09dem2/run | 40 ------------------- m09real/run | 40 ------------------- m10Q1/run | 40 ------------------- m10Q2/run | 40 ------------------- m10Q3/run | 40 ------------------- m10Q4/run | 40 ------------------- m10Q5/run | 40 ------------------- m10Q6/run | 40 ------------------- m10dem1/run | 40 ------------------- m10dem2/run | 40 ------------------- m10real/run | 40 ------------------- m11Q1/run | 40 ------------------- m11Q2/run | 40 ------------------- m11Q3/run | 40 ------------------- m11Q4/run | 40 ------------------- m11Q5/run | 40 ------------------- m11Q6/run | 40 ------------------- m11dem11/run | 40 ------------------- m11dem12/run | 40 ------------------- m11dem13/run | 40 ------------------- m11real/run | 40 ------------------- m12_examj2011q1_online/run | 40 ------------------- m12_examj2011q2_online/run | 40 ------------------- m12_examj2011q3_online/run | 40 ------------------- m12_examj2011q4_online/run | 40 ------------------- m12_examj2011q5_online/run | 40 ------------------- m12_examj2011q6_online/run | 40 ------------------- m12_examj2011q7_online/run | 40 ------------------- mX12_examj2011q1/run | 40 ------------------- mX12_examj2011q2/run | 40 ------------------- mX12_examj2011q3/run | 40 ------------------- mX12_examj2011q4/run | 40 ------------------- mX12_examj2011q5/run | 40 ------------------- mX12_examj2011q6/run | 40 ------------------- mX12_examj2011q7/run | 40 ------------------- mX1Q19/run | 40 ------------------- mX2Q2/run | 40 ------------------- mX2ec2/run | 40 ------------------- mX3Q8/run | 40 ------------------- mX3Q9/run | 40 ------------------- 185 files changed, 8 insertions(+), 7365 deletions(-) rename $common/{student/Translations/translations_run => }/run (76%) mode change 100644 => 100755 delete mode 100644 105_java/run delete mode 100644 106_java/run delete mode 100644 108_java/run delete mode 100644 111_java/run delete mode 100644 112_java/run delete mode 100644 14_java/run delete mode 100644 85_java/run delete mode 100644 87_java/run delete mode 100644 88_java/run delete mode 100644 m01Q10/run delete mode 100644 m01Q11/run delete mode 100644 m01Q12/run delete mode 100644 m01Q13/run delete mode 100644 m01Q14/run delete mode 100644 m01Q15/run delete mode 100644 m01Q16/run delete mode 100644 m01Q17/run delete mode 100644 m01Q18/run delete mode 100644 m01Q2/run delete mode 100644 m01Q20/run delete mode 100644 m01Q3/run delete mode 100644 m01Q4/run delete mode 100644 m01Q5/run delete mode 100644 m01Q6/run delete mode 100644 m01Q7/run delete mode 100644 m01Q8/run delete mode 100644 m01Q9/run delete mode 100644 m01_bf/run delete mode 100644 m02Q1/run delete mode 100644 m02Q10/run delete mode 100644 m02Q3/run delete mode 100644 m02Q4/run delete mode 100644 m02Q5/run delete mode 100644 m02Q6/run delete mode 100644 m02Q7/run delete mode 100644 m02Q8/run delete mode 100644 m02Q9/run delete mode 100644 m02_bf/run delete mode 100644 m02dem2/run delete mode 100644 m02dem3/run delete mode 100644 m02dem4/run delete mode 100644 m02dem5/run delete mode 100644 m02real/run delete mode 100644 m03Q1/run delete mode 100644 m03Q2/run delete mode 100644 m03Q3/run delete mode 100644 m03Q4/run delete mode 100644 m03Q5/run delete mode 100644 m03Q6/run delete mode 100644 m03Q7/run delete mode 100644 m03_bf/run delete mode 100644 m03dem2/run delete mode 100644 m03dem3/run delete mode 100644 m03dem4/run delete mode 100644 m03dem5/run delete mode 100644 m03real1/run delete mode 100644 m04Q1/run delete mode 100644 m04Q10/run delete mode 100644 m04Q11/run delete mode 100644 m04Q2/run delete mode 100644 m04Q3/run delete mode 100644 m04Q4/run delete mode 100644 m04Q5/run delete mode 100644 m04Q6/run delete mode 100644 m04Q7/run delete mode 100644 m04Q8/run delete mode 100644 m04Q9/run delete mode 100644 m04_bf/run delete mode 100644 m04dem1/run delete mode 100644 m04dem2/run delete mode 100644 m04dem3/run delete mode 100644 m04dem4/run delete mode 100644 m04dem5/run delete mode 100644 m04real/run delete mode 100644 m05Q1/run delete mode 100644 m05Q10/run delete mode 100644 m05Q11/run delete mode 100644 m05Q12/run delete mode 100644 m05Q2/run delete mode 100644 m05Q3/run delete mode 100644 m05Q4/run delete mode 100644 m05Q5/run delete mode 100644 m05Q6/run delete mode 100644 m05Q7/run delete mode 100644 m05Q8/run delete mode 100644 m05Q9/run delete mode 100644 m05_bf/run delete mode 100644 m05dem1/run delete mode 100644 m05dem2/run delete mode 100644 m05dem3/run delete mode 100644 m05dem4/run delete mode 100644 m05dem5/run delete mode 100644 m05real/run delete mode 100644 m06Q1/run delete mode 100644 m06Q10/run delete mode 100644 m06Q11/run delete mode 100644 m06Q2/run delete mode 100644 m06Q3/run delete mode 100644 m06Q4/run delete mode 100644 m06Q5/run delete mode 100644 m06Q6/run delete mode 100644 m06Q7/run delete mode 100644 m06Q8/run delete mode 100644 m06Q9/run delete mode 100644 m06_bf/run delete mode 100644 m06dem1/run delete mode 100644 m06dem2/run delete mode 100644 m06dem3/run delete mode 100644 m06dem4/run delete mode 100644 m06real/run delete mode 100644 m07Q1/run delete mode 100644 m07Q10/run delete mode 100644 m07Q11/run delete mode 100644 m07Q2/run delete mode 100644 m07Q3/run delete mode 100644 m07Q4/run delete mode 100644 m07Q5/run delete mode 100644 m07Q6/run delete mode 100644 m07Q7/run delete mode 100644 m07Q8/run delete mode 100644 m07Q9/run delete mode 100644 m07_bf/run delete mode 100644 m07dem1/run delete mode 100644 m07dem2/run delete mode 100644 m07real/run delete mode 100644 m08Q1/run delete mode 100644 m08Q2/run delete mode 100644 m08Q3/run delete mode 100644 m08Q4/run delete mode 100644 m08Q5/run delete mode 100644 m08Q6/run delete mode 100644 m08Q7/run delete mode 100644 m08dem1/run delete mode 100644 m08dem2/run delete mode 100644 m08real/run delete mode 100644 m09Q1/run delete mode 100644 m09Q2/run delete mode 100644 m09Q3/run delete mode 100644 m09Q4/run delete mode 100644 m09Q5/run delete mode 100644 m09Q6/run delete mode 100644 m09Q7/run delete mode 100644 m09_bf/run delete mode 100644 m09dem1/run delete mode 100644 m09dem2/run delete mode 100644 m09real/run delete mode 100644 m10Q1/run delete mode 100644 m10Q2/run delete mode 100644 m10Q3/run delete mode 100644 m10Q4/run delete mode 100644 m10Q5/run delete mode 100644 m10Q6/run delete mode 100644 m10dem1/run delete mode 100644 m10dem2/run delete mode 100644 m10real/run delete mode 100644 m11Q1/run delete mode 100644 m11Q2/run delete mode 100644 m11Q3/run delete mode 100644 m11Q4/run delete mode 100644 m11Q5/run delete mode 100644 m11Q6/run delete mode 100644 m11dem11/run delete mode 100644 m11dem12/run delete mode 100644 m11dem13/run delete mode 100644 m11real/run delete mode 100644 m12_examj2011q1_online/run delete mode 100644 m12_examj2011q2_online/run delete mode 100644 m12_examj2011q3_online/run delete mode 100644 m12_examj2011q4_online/run delete mode 100644 m12_examj2011q5_online/run delete mode 100644 m12_examj2011q6_online/run delete mode 100644 m12_examj2011q7_online/run delete mode 100644 mX12_examj2011q1/run delete mode 100644 mX12_examj2011q2/run delete mode 100644 mX12_examj2011q3/run delete mode 100644 mX12_examj2011q4/run delete mode 100644 mX12_examj2011q5/run delete mode 100644 mX12_examj2011q6/run delete mode 100644 mX12_examj2011q7/run delete mode 100644 mX1Q19/run delete mode 100644 mX2Q2/run delete mode 100644 mX2ec2/run delete mode 100644 mX3Q8/run delete mode 100644 mX3Q9/run diff --git a/$common/student/Translations/translations_run/run b/$common/run old mode 100644 new mode 100755 similarity index 76% rename from $common/student/Translations/translations_run/run rename to $common/run index da2508d9..d56c51f9 --- a/$common/student/Translations/translations_run/run +++ b/$common/run @@ -5,6 +5,7 @@ import json from json import JSONDecodeError from distutils.file_util import copy_file import os +import inginious_container_api.feedback # Dynamically load modules we need # Credits to https://stackoverflow.com/a/67692/6149867 @@ -16,6 +17,7 @@ def dynamically_load_module(module, path): return mod + ##################################### # Our import for common run file # ##################################### @@ -23,18 +25,19 @@ sys.path.append("/course/common") runfile = dynamically_load_module("runfile", "/course/common/runfile.py") -isExist = os.path.exists("./student/Translations") +isExist = os.path.exists("/task/student/Translations") + if not isExist: - os.makedirs("./student/Translations") + os.mkdir("/task/student/Translations") -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") +copy_file("/course/common/student/Translations/Translator.java", "/task/student/Translations/Translator.java") try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) + task_options = json.load(open('/task/config.json', 'r', encoding="utf-8")) except JSONDecodeError as e: print(_("Impossible de décoder le config.json")) print(e) exit() -runfile.run(**task_options) \ No newline at end of file +runfile.run(**task_options) diff --git a/105_java/run b/105_java/run deleted file mode 100644 index da2508d9..00000000 --- a/105_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/106_java/run b/106_java/run deleted file mode 100644 index da2508d9..00000000 --- a/106_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/108_java/run b/108_java/run deleted file mode 100644 index da2508d9..00000000 --- a/108_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/111_java/run b/111_java/run deleted file mode 100644 index da2508d9..00000000 --- a/111_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/112_java/run b/112_java/run deleted file mode 100644 index da2508d9..00000000 --- a/112_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/14_java/run b/14_java/run deleted file mode 100644 index da2508d9..00000000 --- a/14_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/85_java/run b/85_java/run deleted file mode 100644 index da2508d9..00000000 --- a/85_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/87_java/run b/87_java/run deleted file mode 100644 index da2508d9..00000000 --- a/87_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/88_java/run b/88_java/run deleted file mode 100644 index da2508d9..00000000 --- a/88_java/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q10/run b/m01Q10/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q10/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q11/run b/m01Q11/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q11/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q12/run b/m01Q12/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q12/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q13/run b/m01Q13/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q13/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q14/run b/m01Q14/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q14/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q15/run b/m01Q15/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q15/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q16/run b/m01Q16/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q16/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q17/run b/m01Q17/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q17/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q18/run b/m01Q18/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q18/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q2/run b/m01Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q20/run b/m01Q20/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q20/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q3/run b/m01Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q4/run b/m01Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q5/run b/m01Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q6/run b/m01Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q7/run b/m01Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q8/run b/m01Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01Q9/run b/m01Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/m01Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m01_bf/run b/m01_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m01_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q1/run b/m02Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q10/run b/m02Q10/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q10/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q3/run b/m02Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q4/run b/m02Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q5/run b/m02Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q6/run b/m02Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q7/run b/m02Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q8/run b/m02Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02Q9/run b/m02Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/m02Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02_bf/run b/m02_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m02_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02dem2/run b/m02dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m02dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02dem3/run b/m02dem3/run deleted file mode 100644 index da2508d9..00000000 --- a/m02dem3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02dem4/run b/m02dem4/run deleted file mode 100644 index da2508d9..00000000 --- a/m02dem4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02dem5/run b/m02dem5/run deleted file mode 100644 index da2508d9..00000000 --- a/m02dem5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m02real/run b/m02real/run deleted file mode 100644 index da2508d9..00000000 --- a/m02real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q1/run b/m03Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q2/run b/m03Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q3/run b/m03Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q4/run b/m03Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q5/run b/m03Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q6/run b/m03Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03Q7/run b/m03Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m03Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03_bf/run b/m03_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m03_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03dem2/run b/m03dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m03dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03dem3/run b/m03dem3/run deleted file mode 100644 index da2508d9..00000000 --- a/m03dem3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03dem4/run b/m03dem4/run deleted file mode 100644 index da2508d9..00000000 --- a/m03dem4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03dem5/run b/m03dem5/run deleted file mode 100644 index da2508d9..00000000 --- a/m03dem5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m03real1/run b/m03real1/run deleted file mode 100644 index da2508d9..00000000 --- a/m03real1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q1/run b/m04Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q10/run b/m04Q10/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q10/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q11/run b/m04Q11/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q11/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q2/run b/m04Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q3/run b/m04Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q4/run b/m04Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q5/run b/m04Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q6/run b/m04Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q7/run b/m04Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q8/run b/m04Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04Q9/run b/m04Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/m04Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04_bf/run b/m04_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m04_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04dem1/run b/m04dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m04dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04dem2/run b/m04dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m04dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04dem3/run b/m04dem3/run deleted file mode 100644 index da2508d9..00000000 --- a/m04dem3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04dem4/run b/m04dem4/run deleted file mode 100644 index da2508d9..00000000 --- a/m04dem4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04dem5/run b/m04dem5/run deleted file mode 100644 index da2508d9..00000000 --- a/m04dem5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m04real/run b/m04real/run deleted file mode 100644 index da2508d9..00000000 --- a/m04real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q1/run b/m05Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q10/run b/m05Q10/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q10/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q11/run b/m05Q11/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q11/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q12/run b/m05Q12/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q12/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q2/run b/m05Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q3/run b/m05Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q4/run b/m05Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q5/run b/m05Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q6/run b/m05Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q7/run b/m05Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q8/run b/m05Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05Q9/run b/m05Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/m05Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05_bf/run b/m05_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m05_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05dem1/run b/m05dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m05dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05dem2/run b/m05dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m05dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05dem3/run b/m05dem3/run deleted file mode 100644 index da2508d9..00000000 --- a/m05dem3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05dem4/run b/m05dem4/run deleted file mode 100644 index da2508d9..00000000 --- a/m05dem4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05dem5/run b/m05dem5/run deleted file mode 100644 index da2508d9..00000000 --- a/m05dem5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m05real/run b/m05real/run deleted file mode 100644 index da2508d9..00000000 --- a/m05real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q1/run b/m06Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q10/run b/m06Q10/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q10/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q11/run b/m06Q11/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q11/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q2/run b/m06Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q3/run b/m06Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q4/run b/m06Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q5/run b/m06Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q6/run b/m06Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q7/run b/m06Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q8/run b/m06Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06Q9/run b/m06Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/m06Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06_bf/run b/m06_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m06_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06dem1/run b/m06dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m06dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06dem2/run b/m06dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m06dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06dem3/run b/m06dem3/run deleted file mode 100644 index da2508d9..00000000 --- a/m06dem3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06dem4/run b/m06dem4/run deleted file mode 100644 index da2508d9..00000000 --- a/m06dem4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m06real/run b/m06real/run deleted file mode 100644 index da2508d9..00000000 --- a/m06real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q1/run b/m07Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q10/run b/m07Q10/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q10/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q11/run b/m07Q11/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q11/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q2/run b/m07Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q3/run b/m07Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q4/run b/m07Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q5/run b/m07Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q6/run b/m07Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q7/run b/m07Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q8/run b/m07Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07Q9/run b/m07Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/m07Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07_bf/run b/m07_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m07_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07dem1/run b/m07dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m07dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07dem2/run b/m07dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m07dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m07real/run b/m07real/run deleted file mode 100644 index da2508d9..00000000 --- a/m07real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q1/run b/m08Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q2/run b/m08Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q3/run b/m08Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q4/run b/m08Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q5/run b/m08Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q6/run b/m08Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08Q7/run b/m08Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m08Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08dem1/run b/m08dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m08dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08dem2/run b/m08dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m08dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m08real/run b/m08real/run deleted file mode 100644 index da2508d9..00000000 --- a/m08real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q1/run b/m09Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q2/run b/m09Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q3/run b/m09Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q4/run b/m09Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q5/run b/m09Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q6/run b/m09Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09Q7/run b/m09Q7/run deleted file mode 100644 index da2508d9..00000000 --- a/m09Q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09_bf/run b/m09_bf/run deleted file mode 100644 index da2508d9..00000000 --- a/m09_bf/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09dem1/run b/m09dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m09dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09dem2/run b/m09dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m09dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m09real/run b/m09real/run deleted file mode 100644 index da2508d9..00000000 --- a/m09real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10Q1/run b/m10Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m10Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10Q2/run b/m10Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m10Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10Q3/run b/m10Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m10Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10Q4/run b/m10Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m10Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10Q5/run b/m10Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m10Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10Q6/run b/m10Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m10Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10dem1/run b/m10dem1/run deleted file mode 100644 index da2508d9..00000000 --- a/m10dem1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10dem2/run b/m10dem2/run deleted file mode 100644 index da2508d9..00000000 --- a/m10dem2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m10real/run b/m10real/run deleted file mode 100644 index da2508d9..00000000 --- a/m10real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11Q1/run b/m11Q1/run deleted file mode 100644 index da2508d9..00000000 --- a/m11Q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11Q2/run b/m11Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/m11Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11Q3/run b/m11Q3/run deleted file mode 100644 index da2508d9..00000000 --- a/m11Q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11Q4/run b/m11Q4/run deleted file mode 100644 index da2508d9..00000000 --- a/m11Q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11Q5/run b/m11Q5/run deleted file mode 100644 index da2508d9..00000000 --- a/m11Q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11Q6/run b/m11Q6/run deleted file mode 100644 index da2508d9..00000000 --- a/m11Q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11dem11/run b/m11dem11/run deleted file mode 100644 index da2508d9..00000000 --- a/m11dem11/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11dem12/run b/m11dem12/run deleted file mode 100644 index da2508d9..00000000 --- a/m11dem12/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11dem13/run b/m11dem13/run deleted file mode 100644 index da2508d9..00000000 --- a/m11dem13/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m11real/run b/m11real/run deleted file mode 100644 index da2508d9..00000000 --- a/m11real/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q1_online/run b/m12_examj2011q1_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q1_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q2_online/run b/m12_examj2011q2_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q2_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q3_online/run b/m12_examj2011q3_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q3_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q4_online/run b/m12_examj2011q4_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q4_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q5_online/run b/m12_examj2011q5_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q5_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q6_online/run b/m12_examj2011q6_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q6_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/m12_examj2011q7_online/run b/m12_examj2011q7_online/run deleted file mode 100644 index da2508d9..00000000 --- a/m12_examj2011q7_online/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q1/run b/mX12_examj2011q1/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q1/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q2/run b/mX12_examj2011q2/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q3/run b/mX12_examj2011q3/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q3/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q4/run b/mX12_examj2011q4/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q4/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q5/run b/mX12_examj2011q5/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q5/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q6/run b/mX12_examj2011q6/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q6/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX12_examj2011q7/run b/mX12_examj2011q7/run deleted file mode 100644 index da2508d9..00000000 --- a/mX12_examj2011q7/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX1Q19/run b/mX1Q19/run deleted file mode 100644 index da2508d9..00000000 --- a/mX1Q19/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX2Q2/run b/mX2Q2/run deleted file mode 100644 index da2508d9..00000000 --- a/mX2Q2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX2ec2/run b/mX2ec2/run deleted file mode 100644 index da2508d9..00000000 --- a/mX2ec2/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX3Q8/run b/mX3Q8/run deleted file mode 100644 index da2508d9..00000000 --- a/mX3Q8/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file diff --git a/mX3Q9/run b/mX3Q9/run deleted file mode 100644 index da2508d9..00000000 --- a/mX3Q9/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("./student/Translations") - -if not isExist: - os.makedirs("./student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "./student/Translations/Translator.java") - -try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) \ No newline at end of file From c047524694bcb78a322130051f8c94c99be01b7d Mon Sep 17 00:00:00 2001 From: anaHue Date: Fri, 11 Mar 2022 10:59:11 +0100 Subject: [PATCH 02/10] add - doc for how to write a java exercise --- doc/how_to_write_an_exercise.rst | 81 ++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 doc/how_to_write_an_exercise.rst diff --git a/doc/how_to_write_an_exercise.rst b/doc/how_to_write_an_exercise.rst new file mode 100644 index 00000000..d6a95cc5 --- /dev/null +++ b/doc/how_to_write_an_exercise.rst @@ -0,0 +1,81 @@ +Writing a Java exercise +======================= + +To write a java exercise, the first file you need is config.json at the root of the exercise. + +This file must have the following fields : + +- ``'customscript': nameScript`` in order to use an additionnal correction script (to check if Math is import for example). if there are no additionnal script, you still need to have this information. + +- ``'execcustom': 0 or 1`` in order to indicate if the additionnal script should be executed (1) or not (0).if there are no additionnal script, you still need to have this information. + +- `'nexercices'`` which represents the number of exercices in a single task. + +Here is an example of the file :: + + {"customscript":"custom.sh","execcustom":0,"nexercices":1} + +Then, you need a directory called 'Templates' which will have '.tmpl'. Those files will have the answers of students. This file should begin by 'package StudentCode;', it should contains a class with a lign '@ @id_problem@@'. + +Here is an example with an exercise on an average:: + + package StudentCode; + + public class Student { + public static double average(double a, double b, double c){ + double average=0; + @ @q1@@ + return average; + } + } + +A second directory called 'src' should be created. This folder will have the tests of the exercise in 'Tests.java' and optionally the correction in 'Correction.java'. + +Here is an example of the 'Tests.java':: + + package src; + + import org.junit.Test; + import static org.junit.Assert.*; + import student.Translations.Translator; + import StudentCode.*; + import java.util.Random; + import java.text.MessageFormat; + + public class Tests { + + public void testAverage() { + Random r = new Random(); + int a = r.nextInt(2000) - 1000; + int b = r.nextInt(2000) - 1000; + int c = r.nextInt(2000) - 1000; + double resultStudent = Student.average(a, b, c); + double result = (a + b + c) / 3; + String form = Translator.translate("La moyenne entre {0,number,#}, {1,number,#} et {2,number,#} vaut {3,number,#}, or votre programme calcule {4,number,#}.\n"); + assertTrue(MessageFormat.format(form, a, b, c, result, resultStudent), result == resultStudent); + } + + @Test + public void testLauncher(){ + int nbTests = 4; + try{ + for(int i = 0; i < nbTests; i++){ + testAverage(); + } + }catch (ArithmeticException e){ + fail(Translator.translate("Attention, il est interdit de diviser par zéro.")); + }catch(ClassCastException e){ + fail(Translator.translate("Attention, certaines variables ont été mal castées !")); + }catch(StringIndexOutOfBoundsException e){ + fail(Translator.translate("Attention, vous tentez de lire en dehors des limites d'un String ! (StringIndexOutOfBoundsException)")); + }catch(ArrayIndexOutOfBoundsException e){ + fail(Translator.translate("Attention, vous tentez de lire en dehors des limites d'un tableau ! (ArrayIndexOutOfBoundsException)")); + }catch(NullPointerException e){ + fail(Translator.translate("Attention, vous faites une opération sur un objet qui vaut null ! Veillez à bien gérer ce cas.")); + }catch(Exception e){ + fail(Translator.translate("Une erreur inattendue est survenue dans votre tâche : ") + e.toString()); + } + } + } + +Lastly, we need a 'student' folder with files called 'MessagesBundle_en.properties' for example which will hold the translations of the feedback. Each line should have the original feedback and the translated feedback. From 26539494568a75f0aa7e1005a6f6b72f92e347ce Mon Sep 17 00:00:00 2001 From: anaHue Date: Fri, 11 Mar 2022 13:41:59 +0100 Subject: [PATCH 03/10] fix - correct exercise with special script --- m01Q12/config.json | 2 +- m01Q12/{custom_translatable.py => custom_translatable} | 0 m01Q13/config.json | 2 +- m01Q13/{custom_translatable.py => custom_translatable} | 0 m01Q5/config.json | 2 +- m01Q5/{custom_translatable.py => custom_translatable} | 0 m02Q1/config.json | 2 +- m02Q1/{custom_translatable.py => custom_translatable} | 0 m02dem3/config.json | 2 +- m02dem3/{custom_translatable.py => custom_translatable} | 0 m04Q10/config.json | 2 +- m04Q10/{custom_translatable.py => custom_translatable} | 0 m04Q6/config.json | 2 +- m04Q6/{custom_translatable.py => custom_translatable} | 0 m04Q8/config.json | 2 +- m04Q8/{custom_translatable.py => custom_translatable} | 0 m04Q9/config.json | 2 +- m04Q9/{custom_translatable.py => custom_translatable} | 0 m04dem3/config.json | 2 +- m04dem3/{custom_translatable.py => custom_translatable} | 0 m04dem4/config.json | 2 +- m04dem4/{custom_translatable.py => custom_translatable} | 0 22 files changed, 11 insertions(+), 11 deletions(-) rename m01Q12/{custom_translatable.py => custom_translatable} (100%) rename m01Q13/{custom_translatable.py => custom_translatable} (100%) rename m01Q5/{custom_translatable.py => custom_translatable} (100%) rename m02Q1/{custom_translatable.py => custom_translatable} (100%) rename m02dem3/{custom_translatable.py => custom_translatable} (100%) rename m04Q10/{custom_translatable.py => custom_translatable} (100%) rename m04Q6/{custom_translatable.py => custom_translatable} (100%) rename m04Q8/{custom_translatable.py => custom_translatable} (100%) rename m04Q9/{custom_translatable.py => custom_translatable} (100%) rename m04dem3/{custom_translatable.py => custom_translatable} (100%) rename m04dem4/{custom_translatable.py => custom_translatable} (100%) diff --git a/m01Q12/config.json b/m01Q12/config.json index 213dfe91..8b9aabc5 100644 --- a/m01Q12/config.json +++ b/m01Q12/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m01Q12/custom_translatable.py b/m01Q12/custom_translatable similarity index 100% rename from m01Q12/custom_translatable.py rename to m01Q12/custom_translatable diff --git a/m01Q13/config.json b/m01Q13/config.json index 213dfe91..8b9aabc5 100644 --- a/m01Q13/config.json +++ b/m01Q13/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m01Q13/custom_translatable.py b/m01Q13/custom_translatable similarity index 100% rename from m01Q13/custom_translatable.py rename to m01Q13/custom_translatable diff --git a/m01Q5/config.json b/m01Q5/config.json index 208ae634..0f20b624 100644 --- a/m01Q5/config.json +++ b/m01Q5/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","execcustom":1,"nexercices":1} +{"customscript":"custom_translatable","execcustom":1,"nexercices":1} diff --git a/m01Q5/custom_translatable.py b/m01Q5/custom_translatable similarity index 100% rename from m01Q5/custom_translatable.py rename to m01Q5/custom_translatable diff --git a/m02Q1/config.json b/m02Q1/config.json index 208ae634..0f20b624 100644 --- a/m02Q1/config.json +++ b/m02Q1/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","execcustom":1,"nexercices":1} +{"customscript":"custom_translatable","execcustom":1,"nexercices":1} diff --git a/m02Q1/custom_translatable.py b/m02Q1/custom_translatable similarity index 100% rename from m02Q1/custom_translatable.py rename to m02Q1/custom_translatable diff --git a/m02dem3/config.json b/m02dem3/config.json index 213dfe91..8b9aabc5 100644 --- a/m02dem3/config.json +++ b/m02dem3/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m02dem3/custom_translatable.py b/m02dem3/custom_translatable similarity index 100% rename from m02dem3/custom_translatable.py rename to m02dem3/custom_translatable diff --git a/m04Q10/config.json b/m04Q10/config.json index 208ae634..0f20b624 100644 --- a/m04Q10/config.json +++ b/m04Q10/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","execcustom":1,"nexercices":1} +{"customscript":"custom_translatable","execcustom":1,"nexercices":1} diff --git a/m04Q10/custom_translatable.py b/m04Q10/custom_translatable similarity index 100% rename from m04Q10/custom_translatable.py rename to m04Q10/custom_translatable diff --git a/m04Q6/config.json b/m04Q6/config.json index 213dfe91..8b9aabc5 100644 --- a/m04Q6/config.json +++ b/m04Q6/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m04Q6/custom_translatable.py b/m04Q6/custom_translatable similarity index 100% rename from m04Q6/custom_translatable.py rename to m04Q6/custom_translatable diff --git a/m04Q8/config.json b/m04Q8/config.json index 213dfe91..8b9aabc5 100644 --- a/m04Q8/config.json +++ b/m04Q8/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m04Q8/custom_translatable.py b/m04Q8/custom_translatable similarity index 100% rename from m04Q8/custom_translatable.py rename to m04Q8/custom_translatable diff --git a/m04Q9/config.json b/m04Q9/config.json index 208ae634..0f20b624 100644 --- a/m04Q9/config.json +++ b/m04Q9/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","execcustom":1,"nexercices":1} +{"customscript":"custom_translatable","execcustom":1,"nexercices":1} diff --git a/m04Q9/custom_translatable.py b/m04Q9/custom_translatable similarity index 100% rename from m04Q9/custom_translatable.py rename to m04Q9/custom_translatable diff --git a/m04dem3/config.json b/m04dem3/config.json index 213dfe91..8b9aabc5 100644 --- a/m04dem3/config.json +++ b/m04dem3/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m04dem3/custom_translatable.py b/m04dem3/custom_translatable similarity index 100% rename from m04dem3/custom_translatable.py rename to m04dem3/custom_translatable diff --git a/m04dem4/config.json b/m04dem4/config.json index 213dfe91..8b9aabc5 100644 --- a/m04dem4/config.json +++ b/m04dem4/config.json @@ -1 +1 @@ -{"customscript":"custom_translatable.py","nexercices":1,"execcustom":1} +{"customscript":"custom_translatable","nexercices":1,"execcustom":1} diff --git a/m04dem4/custom_translatable.py b/m04dem4/custom_translatable similarity index 100% rename from m04dem4/custom_translatable.py rename to m04dem4/custom_translatable From c9fff1ac4b97f0d3e71ab483a4d92f7869d614c9 Mon Sep 17 00:00:00 2001 From: anaHue Date: Mon, 14 Mar 2022 10:02:52 +0100 Subject: [PATCH 04/10] add - missing quote to doc --- doc/how_to_write_an_exercise.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/how_to_write_an_exercise.rst b/doc/how_to_write_an_exercise.rst index d6a95cc5..f41c858f 100644 --- a/doc/how_to_write_an_exercise.rst +++ b/doc/how_to_write_an_exercise.rst @@ -9,7 +9,7 @@ This file must have the following fields : - ``'execcustom': 0 or 1`` in order to indicate if the additionnal script should be executed (1) or not (0).if there are no additionnal script, you still need to have this information. -- `'nexercices'`` which represents the number of exercices in a single task. +- ``'nexercices'`` which represents the number of exercices in a single task. Here is an example of the file :: From daa448449c6d0c1076529fb34edb4724d6dc76df Mon Sep 17 00:00:00 2001 From: anaHue Date: Mon, 14 Mar 2022 10:15:16 +0100 Subject: [PATCH 05/10] add - example of stucture in doc --- doc/how_to_write_an_exercise.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/doc/how_to_write_an_exercise.rst b/doc/how_to_write_an_exercise.rst index f41c858f..58d3008a 100644 --- a/doc/how_to_write_an_exercise.rst +++ b/doc/how_to_write_an_exercise.rst @@ -79,3 +79,17 @@ Here is an example of the 'Tests.java':: } Lastly, we need a 'student' folder with files called 'MessagesBundle_en.properties' for example which will hold the translations of the feedback. Each line should have the original feedback and the translated feedback. + + +Here is the structure you should have :: + + ../id_exercise + ├── config.json + ├── src + │   ├── Correction.java + │   └── Tests.java + ├── student + │   ├── MessagesBundle_en.properties + │   └── MessagesBundle_es.properties + └── Templates + └── Etudiant.tmpl From dfbb5c791da85c7179edf359d9e1960ce9bf33fb Mon Sep 17 00:00:00 2001 From: anaHue Date: Mon, 14 Mar 2022 14:52:54 +0100 Subject: [PATCH 06/10] add - javajudge as environnement --- $common/run | 43 ---- $common/runfile.py | 218 ------------------ $common/src/Runner.java | 50 ---- $common/student/Translations/Translator.java | 85 ------- .../translations_run/en/LC_MESSAGES/run.mo | Bin 61859 -> 0 bytes .../translations_run/es/LC_MESSAGES/run.mo | Bin 3184 -> 0 bytes 105_java/task.yaml | 2 +- 106_java/task.yaml | 2 +- 108_java/task.yaml | 2 +- 111_java/task.yaml | 2 +- 112_java/task.yaml | 2 +- 14_java/task.yaml | 2 +- 85_java/task.yaml | 2 +- 87_java/task.yaml | 2 +- 88_java/task.yaml | 2 +- m01Q10/task.yaml | 2 +- m01Q11/task.yaml | 2 +- m01Q12/task.yaml | 2 +- m01Q13/task.yaml | 2 +- m01Q14/task.yaml | 2 +- m01Q15/task.yaml | 2 +- m01Q16/task.yaml | 2 +- m01Q17/task.yaml | 2 +- m01Q18/task.yaml | 2 +- m01Q2/task.yaml | 2 +- m01Q20/task.yaml | 2 +- m01Q3/task.yaml | 2 +- m01Q4/task.yaml | 2 +- m01Q5/task.yaml | 2 +- m01Q6/task.yaml | 2 +- m01Q7/task.yaml | 2 +- m01Q8/task.yaml | 2 +- m01Q9/task.yaml | 2 +- m01_bf/task.yaml | 2 +- m02Q1/task.yaml | 2 +- m02Q10/task.yaml | 2 +- m02Q3/task.yaml | 2 +- m02Q4/task.yaml | 2 +- m02Q5/task.yaml | 2 +- m02Q6/task.yaml | 2 +- m02Q7/task.yaml | 2 +- m02Q8/task.yaml | 2 +- m02Q9/task.yaml | 2 +- m02_bf/task.yaml | 2 +- m02dem2/task.yaml | 2 +- m02dem3/task.yaml | 2 +- m02dem4/task.yaml | 2 +- m02dem5/task.yaml | 2 +- m02real/task.yaml | 2 +- m03Q1/task.yaml | 2 +- m03Q2/task.yaml | 2 +- m03Q3/task.yaml | 2 +- m03Q4/task.yaml | 2 +- m03Q5/task.yaml | 2 +- m03Q6/task.yaml | 2 +- m03Q7/task.yaml | 2 +- m03_bf/task.yaml | 2 +- m03dem2/task.yaml | 2 +- m03dem3/task.yaml | 2 +- m03dem4/task.yaml | 2 +- m03dem5/task.yaml | 2 +- m03real1/task.yaml | 2 +- m04Q1/task.yaml | 2 +- m04Q10/task.yaml | 2 +- m04Q11/task.yaml | 2 +- m04Q2/task.yaml | 2 +- m04Q3/task.yaml | 2 +- m04Q4/task.yaml | 2 +- m04Q5/task.yaml | 2 +- m04Q6/task.yaml | 2 +- m04Q7/task.yaml | 2 +- m04Q8/task.yaml | 2 +- m04Q9/task.yaml | 2 +- m04_bf/task.yaml | 2 +- m04dem1/task.yaml | 2 +- m04dem2/task.yaml | 2 +- m04dem3/task.yaml | 2 +- m04dem4/task.yaml | 2 +- m04dem5/task.yaml | 2 +- m04real/task.yaml | 2 +- m05Q1/task.yaml | 2 +- m05Q10/task.yaml | 2 +- m05Q11/task.yaml | 2 +- m05Q12/task.yaml | 2 +- m05Q2/task.yaml | 2 +- m05Q3/task.yaml | 2 +- m05Q4/task.yaml | 2 +- m05Q5/task.yaml | 2 +- m05Q6/task.yaml | 2 +- m05Q7/task.yaml | 2 +- m05Q8/task.yaml | 2 +- m05Q9/task.yaml | 2 +- m05_bf/task.yaml | 2 +- m05dem1/task.yaml | 2 +- m05dem2/task.yaml | 2 +- m05dem3/task.yaml | 2 +- m05dem4/task.yaml | 2 +- m05dem5/task.yaml | 2 +- m05real/task.yaml | 2 +- m06Q1/task.yaml | 2 +- m06Q10/task.yaml | 2 +- m06Q11/task.yaml | 2 +- m06Q2/task.yaml | 2 +- m06Q3/task.yaml | 2 +- m06Q4/task.yaml | 2 +- m06Q5/task.yaml | 2 +- m06Q6/task.yaml | 2 +- m06Q7/task.yaml | 2 +- m06Q8/task.yaml | 2 +- m06Q9/task.yaml | 2 +- m06_bf/task.yaml | 2 +- m06dem1/task.yaml | 2 +- m06dem2/task.yaml | 2 +- m06dem3/task.yaml | 2 +- m06dem4/task.yaml | 2 +- m06real/task.yaml | 2 +- m07Q1/task.yaml | 2 +- m07Q10/task.yaml | 2 +- m07Q11/task.yaml | 2 +- m07Q2/task.yaml | 2 +- m07Q3/task.yaml | 2 +- m07Q4/task.yaml | 2 +- m07Q5/task.yaml | 2 +- m07Q6/task.yaml | 2 +- m07Q7/task.yaml | 2 +- m07Q8/task.yaml | 2 +- m07Q9/task.yaml | 2 +- m07_bf/task.yaml | 2 +- m07dem1/task.yaml | 2 +- m07dem2/task.yaml | 2 +- m08Q1/task.yaml | 2 +- m08Q2/task.yaml | 2 +- m08Q3/task.yaml | 2 +- m08Q4/task.yaml | 2 +- m08Q5/task.yaml | 2 +- m08Q6/task.yaml | 2 +- m08Q7/task.yaml | 2 +- m08dem1/task.yaml | 2 +- m08dem2/task.yaml | 2 +- m09Q1/task.yaml | 2 +- m09Q2/task.yaml | 2 +- m09Q3/task.yaml | 2 +- m09Q4/task.yaml | 2 +- m09Q5/task.yaml | 2 +- m09Q6/task.yaml | 2 +- m09Q7/task.yaml | 2 +- m09_bf/task.yaml | 2 +- m09dem1/task.yaml | 2 +- m09dem2/task.yaml | 2 +- m09real/task.yaml | 2 +- m10Q1/task.yaml | 2 +- m10Q2/task.yaml | 2 +- m10Q3/task.yaml | 2 +- m10Q4/task.yaml | 2 +- m10Q5/task.yaml | 2 +- m10Q6/task.yaml | 2 +- m10dem1/task.yaml | 2 +- m10dem2/task.yaml | 2 +- m10real/task.yaml | 2 +- m11Q1/task.yaml | 2 +- m11Q2/task.yaml | 2 +- m11Q3/task.yaml | 2 +- m11Q4/task.yaml | 2 +- m11Q5/task.yaml | 2 +- m11Q6/task.yaml | 2 +- m11dem13/task.yaml | 2 +- m12_examj2011q1_online/task.yaml | 2 +- m12_examj2011q2_online/task.yaml | 2 +- m12_examj2011q3_online/task.yaml | 2 +- m12_examj2011q4_online/task.yaml | 2 +- m12_examj2011q5_online/task.yaml | 2 +- m12_examj2011q6_online/task.yaml | 2 +- m12_examj2011q7_online/task.yaml | 2 +- mX12_examj2011q1/task.yaml | 2 +- mX12_examj2011q2/task.yaml | 2 +- mX12_examj2011q3/task.yaml | 2 +- mX12_examj2011q4/task.yaml | 2 +- mX12_examj2011q5/task.yaml | 2 +- mX12_examj2011q6/task.yaml | 2 +- mX12_examj2011q7/task.yaml | 2 +- mX1Q19/task.yaml | 2 +- mX2Q2/task.yaml | 2 +- mX2ec2/task.yaml | 2 +- mX3Q8/task.yaml | 2 +- mX3Q9/task.yaml | 2 +- 185 files changed, 179 insertions(+), 575 deletions(-) delete mode 100755 $common/run delete mode 100644 $common/runfile.py delete mode 100644 $common/src/Runner.java delete mode 100644 $common/student/Translations/Translator.java delete mode 100644 $common/student/Translations/translations_run/en/LC_MESSAGES/run.mo delete mode 100644 $common/student/Translations/translations_run/es/LC_MESSAGES/run.mo diff --git a/$common/run b/$common/run deleted file mode 100755 index d56c51f9..00000000 --- a/$common/run +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/python3 -import importlib.util -import sys -import json -from json import JSONDecodeError -from distutils.file_util import copy_file -import os -import inginious_container_api.feedback - -# Dynamically load modules we need -# Credits to https://stackoverflow.com/a/67692/6149867 -# And for the explanation : http://www.blog.pythonlibrary.org/2016/05/27/python-201-an-intro-to-importlib/ -def dynamically_load_module(module, path): - spec = importlib.util.spec_from_file_location(module, path) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - return mod - - - -##################################### -# Our import for common run file # -##################################### -sys.path.append("/course/common") - -runfile = dynamically_load_module("runfile", "/course/common/runfile.py") - -isExist = os.path.exists("/task/student/Translations") - - -if not isExist: - os.mkdir("/task/student/Translations") - -copy_file("/course/common/student/Translations/Translator.java", "/task/student/Translations/Translator.java") - -try: - task_options = json.load(open('/task/config.json', 'r', encoding="utf-8")) -except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - -runfile.run(**task_options) diff --git a/$common/runfile.py b/$common/runfile.py deleted file mode 100644 index 8481952c..00000000 --- a/$common/runfile.py +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/python3 -# -*- coding: utf-8 -*- - -# -# Copyright (c) 2016 François Michel, edited by Alexandre Dubray 2017 -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# - -import os -import json -import subprocess -import shlex -import sys -import re -from json import JSONDecodeError - -from inginious import feedback -from inginious import input - -def initTranslations(): - """ Initialise la fonction _() qui permettra de traduire les chaines de caractère. - - Crée un fichier contenant le code de langue afin que le code Java puisse le récupérer plus tard - """ - import gettext - current_locale = input.get_input("@lang") - with open("student/lang","w+") as f: # This file will be used by Java to get the correct lang - f.write(current_locale) - try: # Try to load translations. - language = gettext.translation ('run', 'student/Translations/translations_run', [current_locale]) - _ = language.gettext - except OSError: - _ = gettext.gettext # This will use String id if an error occurs - return _ - -_ = initTranslations() - -def getfilename(file): - """ Retourne le nom de fichier (sans l'extension) du fichier nommé file """ - return os.path.splitext(file)[0] - -def add_indentation_level(to_indent): - """ Ajoute l'indentation au message to_indent pour l'insérer dans un code-bloc """ - return ' ' + ' '.join(to_indent.splitlines(keepends=True)) - -def parsetemplate(): - """ Parse les réponse de l'étudiant - - Cette fonction s'occupe de mettre les réponse de l'étudiant aux endroit appropriés. - Pour chaque fichier dans le dossiers /task/Templates , si il possède une ou plusieurs - fois le pattern @@@@, la réponse de la question avec l'id - sera placée à la place du pattern et le fichier résultant sera copier dans le dossier - /task/StudentCode (créer au début de la fonction) avec une extension .java - """ - os.mkdir('./StudentCode') - for file in os.listdir('./Templates'): - filename = getfilename(file) - input.parse_template('./Templates/' + file,'./StudentCode/' + filename + '.java'); - -def librairies(): - """Définit l'ensemble des pathfile qui seront utilisé via l'option -cp de javac et java """ - lib = '.' - lib += ':/usr/share/java/junit.jar' - lib += ':/usr/share/java/hamcrest/core.jar' - lib += ':/usr/share/java/mockito/mockito-core.jar' - lib += ':/usr/share/java/cglib/cglib.jar' - lib += ':/usr/share/java/objenesis/objenesis.jar' - lib += ':/usr/share/java/objectweb-asm/asm-all.jar' - lib += ':./student' - lib += ':./src' - lib += ':./StudentCode' - return lib - -def compile_files(test_file): - """ Compile l'ensemble des fichier .java nécessaire pour les tests - - Compile l'ensemble des fichiers de test. Seul la compilation de ces fichier - doit être faite car le compilateur de java compilera les classes dont ils - ont besoin pour fonctionner - - Keyword arguments: - test_file -- La liste des fichier de tests - """ - Log = "" - javac_cmd = "javac -d ./student -encoding UTF8 -cp " + librairies() - with open('LogCompile.log','w+') as f: - subprocess.call(shlex.split(javac_cmd) + test_file, universal_newlines=True,stderr=f) - if os.path.getsize('LogCompile.log') > 0: - f.seek(0) - Log = f.read() - return Log - -def get_test_files(runner): - """Retourne la liste de l'ensemble des nom fichiers de test trouvé dans /task/src - - Cette méthode est appelée uniquement si aucune liste n'est fournie dans le fichier - config.json. Si c'est le cas, un fichier de test est un fichier tel que - - Il se trouve dans le dossiers src - - Il est différent du fichier runner - - Il n'est pas le fichier de correction (qui s'appelle d'office Correction.java) - - C'est un fichier .java - - La liste retournée contient uniquement les noms récupérer via getfilename - - Keyword arguments: - runner -- le nom du fichier runner - """ - files = [] - for file in os.listdir('./src'): - if getfilename(file) != runner and not file.startswith('Correction') and not os.path.isdir("./src/"+file) and file.endswith('.java'): - files.append(getfilename(file)) - return files - -def run(customscript,execcustom,nexercices,tests=[],runner='Runner'): - """ Parse les réponse des étudiant, compile et lance les tests et donne le feedback aux étudiant - - Keyword arguments: - customscript -- nom d'un script personnalisé - execcustom -- Si oui (valeur != 0) ou non (0) il faut exécuter le script personnalisé customscript - nexercices -- la nombre d'exercice dans la tâche - tests -- Fichiers de test à lancer - runner -- Fichier runner (default 'Runner') - """ - #Récupération des fichiers de tests si jamais il ne sont pas fournis à l'appel de la méthode - if not tests: - tests = get_test_files(runner) - code_litteral = ".. code-block::\n\n" - parsetemplate() # Parse les réponses de l'étudiant - if execcustom != 0: # On doit exécuter le script personnalsé - # If this is a python script we call the main() method with the _() function to transmit the translation mechanism - if (customscript == "custom_translatable.py"): - from custom_translatable import main - outcustom = main(_) - else: - outcustom = subprocess.call(['./' + customscript],universal_newlines=True) - if outcustom != 0: # Le script a renvoyé une erreur - exit() - - # On compile les fichier. La fonction map applique une fonction (argument 1) sur une liste (argument 2) - # L'expression lambda définit une fonction anonyme qui ajoute le dossiers src et l'extension .java aux nom de fichier tests - anonymous_fun = lambda file : './src/' + file + '.java' # Create anonymous funcntion - anonymous_fun_2 = lambda file : '/course/common/src/' + file + '.java' - Log = compile_files([anonymous_fun(file) for file in tests] ) - Log += compile_files([anonymous_fun_2(file) for file in [runner]] ) - if Log == "": # La compilation a réussie - with open('err.txt', 'w+', encoding="utf-8") as f: - # On lance le runner - os.chdir('./student') - java_cmd = "run_student java -ea -cp " + librairies() - # On passe comme argument au fichier runner les fichier de tests (Voir documentation runner) - resproc = subprocess.Popen( shlex.split(java_cmd) + ['src/' + runner] + tests, universal_newlines=True, stderr=f, stdout=subprocess.PIPE) - resproc.communicate() - resultat = resproc.returncode - f.flush() - f.seek(0) - outerr = f.read() - print(outerr) # On affiche la sortie de stderr dans les informations de debug - if resultat == 127: # Les tests ont réussis - feedback.set_global_result('success') - elif resultat == 252: # Limite de mémoire dépassée - feedback.set_global_result('failed') - feedback.set_global_feedback(_("La limite de mémoire de votre programme est dépassée")) - elif resultat == 253: # timeout - feedback.set_global_result('failed') - feedback.set_global_feedback(_("La limite de temps d'exécution de votre programme est dépassée")) - else: # Les tests ont échouées - if nexercices == 1: - outerr = add_indentation_level(outerr) # On ajoute de l'indentation pour que ça s'affiche dans un cadre gris pour les étudiants - feedback.set_global_result('failed') - feedback.set_global_feedback(_("Il semble que vous ayez fait des erreurs dans votre code…\n\n") + code_litteral + outerr + "\n") - else: - i = 1 - while i <= nexercices: - """ - Cette regex va matcher tout ce qui se trouve entre - - @i (avec i le numéro du sous-problème que l'on considère - - @ - - et donc matcher tout les feedback associés au sous-problème que l'on considère - """ - regex = '@' + str(i) + ' :\n(.*?)(?=@\d+ :|$)' - regex_question = re.findall(regex, outerr, re.DOTALL) - if len(regex_question) == 0 and outerr == "": # Il n'y a pas de match pour la regex, le sous-problème est bien répondu - feedback.set_problem_feedback(_("Vous avez bien répondu à cette question"), "q" + str(i)) - feedback.set_problem_result("success", "q"+str(i)) - elif outerr != "": - feedback.set_global_feedback(_(outerr)) - feedback.set_global_result("failed") - else: - outerr_question = ''.join(regex_question) # On remet tout les feedback trouvé en un seul - outerr_question = add_indentation_level(outerr_question) # on l'indente - feed = _("Il semble que vous ayez fait des erreurs dans votre code…\n\n") + code_litteral + outerr_question + "\n" - feedback.set_problem_feedback(feed,"q"+str(i)) - i += 1 - else: # La compilation a raté - Log = add_indentation_level(Log) - feed = _("Le programme ne compile pas : \n\n") + code_litteral + Log + "\n" - feedback.set_global_result('failed') - feedback.set_global_feedback(feed) - -if __name__ == '__main__': - try: - task_options = json.load(open('config.json', 'r', encoding="utf-8")) - except JSONDecodeError as e: - print(_("Impossible de décoder le config.json")) - print(e) - exit() - run(**task_options) diff --git a/$common/src/Runner.java b/$common/src/Runner.java deleted file mode 100644 index 0dd59dce..00000000 --- a/$common/src/Runner.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (c) Olivier GOLETTI, 2017 Brandon NAITALI, 2017 Alexandre DUBRAY - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package src; - -import org.junit.runner.JUnitCore; -import org.junit.runner.Result; -import org.junit.runner.notification.Failure; - -import java.util.List; -import java.util.ArrayList; - -public class Runner { - - private static Class [] getClass(String [] args) { - Class [] c = new Class[args.length]; - for(int i=0;i. - */ - -package student.Translations; -import java.util.ResourceBundle; -import java.util.Locale; -import java.io.FileReader; -import java.io.BufferedReader; - -public class Translator { - - // Localisation des fichiers .properties contenant les traduction - private static String bundleLocation = "MessagesBundle"; - - private static ResourceBundle myResources; - private static boolean ok = true; - - // Si une erreur suivient en essayant de récupérer la langue définie par le script run, on utilise le français. - private static String lang_error = "fr"; - - // Fichier crée par le script run qui permet à Translator.java de savoir quelle langue prendre. - private static String lang_file = "./lang"; - - /* - * @pre - - * @post Retourne la traduction du String {s} en fonction de la langue définie dans le fichier "./lang". - * Retourne la chaine non traduite si le fichier de traduction pour la langue définie n'existe pas ou si une erreur est survenue. - */ - public static String translate(String s) { - - // Try to load once the bundle. If no bundle found, we use the String id instead of the translation. - if(ok == true){ - try { - if (myResources == null) { - myResources = ResourceBundle.getBundle(bundleLocation, new Locale(get_lang()), ResourceBundle.Control.getNoFallbackControl(ResourceBundle.Control.FORMAT_PROPERTIES)); - } - } catch (Exception e){ - // No bundle found - } finally { - ok = false; - } - } - - if (myResources != null){ - try { - return myResources.getString(s); - } catch (Exception e) { // Can happen if translation is invalid). - return s; - } - } else - return s; - } - - /* - * Read the code lang ("en_US" for example) in the file "./lang" that run script should have created. - * Retourne {lang_error} si un problème survient. - */ - private static String get_lang(){ - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(lang_file)); - return br.readLine().replace("\n\r", "").replace("\n", "").replace(" ", ""); //Delete evantual unwanted characters - } catch(Exception e){ - return lang_error; - } finally { - try{ - br.close(); - }catch(Exception e){ - return lang_error; - } - } - } -} diff --git a/$common/student/Translations/translations_run/en/LC_MESSAGES/run.mo b/$common/student/Translations/translations_run/en/LC_MESSAGES/run.mo deleted file mode 100644 index 5083c43dd9ead2147b8974e5621b013829adf308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61859 zcmc(o3%p!cRsW}ewcHkYh$8Qk@<>9Hn@7{M4NYm%rfnc?+9rKd?A$wZbElm=FFV4A8W6*_S$Q&z4wDx*r)by8icZgamY45s;B&bDJ8%cM z<}}9+_*2~f2B>_uQJ5>iyFu0CAHZ$kv(|ckP4Ic#e+@hcZlZE$f$spX0lxyi7<>+u z-vj4p{K(e++PjW!1sYygHM2XGEA#44w>r z4g3l4p90=WB@c05IlEH11-Lcf-+?dY{smjSoPPmc!2JaFPb1Icb zgI^8!ZE%YFlPSbb@P|RNtlS7flFDnrYr#)}PXwP%A@%%u;4bia;N{?J!~NfaqSu); z_VwW1;BDZ)fiDGn=Q%(BKTzK{D3rc`02H4$w>!Q56y#s!k>@+zuK-1t`@qM7?+2d& z-XHG21>VK|iB$e}@b#eR_xK%7w|hX<@9`H_D)Znh_)758;48rAU*vTBTkuZqZ@!qa zfZqgvOuzH;9pImVZvF>5wOSoX_tBaZvxeRPlvd|*Mc+PDG2!wf^CqduG|Sy)yhXe$BEo zT+98>gExX71IeQDjJ@b4un#^SycfI*{3wX%R34A;i9Q#DhC2 zY=Eo5mxENT@_rDJtvvksUXCr`uW^41_#W_?H~9S*LEZoC3($GsHiS+19#G|Y+KuE1 zz891pIic$Hy9A`@m6w7Y@JrxL;N=iq_5Bd|EO5oF%f&8G^!+jLH1O@9==X(y-_J{% zx!(*v6kGt$1aARVzr =F{Ld@F{g<3cL|~IQWa;3h-CJDe(8fQ@}5Pl7k08mFHU^ zqFH&;oXgF10bdEO;`@(*>%eb-s^63M(e_{;xgRg(~j@F9IKav(xc%Q0;#YsCs+}d^woG+^+!N0ji$QUhw>10Vi;|%m!_=z68PibiCvekp8{{>{y)GTcmw~b9G?Zrvhu?a?GX4<@I#=OR`T{?5SFg| z$N|R=2&pTd29?g~2VD=|3sSYp!$?Hs=z_3r<$jPXE30nx{^4%$dEB3Po6FM`0q+JM z!S`PQPY3@AB#X+b7drpG2^3wv815g15bYEa+54qOj@ z6BM6hH2P|=4XU261Gj=-2hRgn{*?3EJa{qp?*LbV{{o6mPkEWk^Iq`z+}{b#fPWdj zKmVt(HM#GA;@czO7VxB>@%o()>id_0A3vc|`2%nh_jkRbQu#jclc37;8SvrYBYu`L zgO3AMkF!9vTLY|tZv`c%C%@A9tOlx`J_0J;$Nvv6@1>yVaXVNAKL?7QXS~Ym{TfjG z`p4k);Ch7qQt;*AUhvPr?fU-boX@)8Joj${5&g=e?(+WPHcjPdB@WtSx`TbsS9r!`;U%|fx#V23>pWaWcf354OS@21G|4DEW{0gZ0 zUHv-G{{sO}_yw2ao!}MxejoU3@H^ny;MuQtJG2|{y`a+jNAMc3cDLvMVNiT_@*7;g zp9S8c-@)gCe+=#iSG>{r<+Y&n&mVxWbmfWnIRD=RUdH{m!0W;7Z$d`EH-c)H=l-Ji zSNDOJbAQ8|9p44&`4fK0@di+Q`T_8%;6r}d>whYE756UzC3k-YX5i^>@$&5jr@6l$ z6#xD^D7xJ6R=1yi72M4IAA@Itk9eE+FFU{v_m>C!7+B~2%zM4uZwUAuaDne{IPCm* zKe&baXWr+0Qw6D7T%k;yxgw>TipK_*Z^C<>iqZx zQ2CzpZg1}kK;`>N@R8u%;1j^NgR0Lbz#j*{0E#cJdym_7e+1sZ{kiXTxw;#aeEtRa zBJhk~b36Eb0XMwQ`;B*iv;2PQ`@KJTDX4OO1NV{#slEXxxe-|{JpP$h+gIT z4>TX^>aqDFUf;Vw zwbxs~bHT5IyTE7umdi^Qd4v*mZ)F1r_eGWYj`PX)gYiq9VY3Gat44fsOvb$ovxhzL|J_&q*@-vD8`%4wD!1K620&WB!_Gz!znP8RsmxGemzXz`ZFaLcn_r2hH?mq{L zUJv^N*RRvyTJEm`H-Ikz*MRQ_9|Hb0xEcHk_zdvLpK-l(J}CO#1)c+b9y}3z^dGwY z`6J*-+;0I-2G0k-AKVQ-3%nX!2i^gy9`6BFt_Q#s;3NOY^VUGj* z{revUU&Q^pz?XvSKIeAZ`@yZ;pZj^|vloJr%ij$5{|cVX{pSDWxCq|K{e9pa;PfAR z|L|^b5BJ{&uK+Lk6Q}o^z>VDhGq?d<^#y#H zz&Y^Sp!n>@FZuH)|AphV0pA8Hy?+MxfzSI(*I(}ipU?e&f|r8V|CQUB_kpwA{|k5> zc-@y>j^780?;rBlju(NaaQ|}fH1KucE#SvN(eKQ^aXaKDa0~bMfa}3O4d0*qfZG%2 zftT=o4;0-#3Rb~WzT)>SQ0?;@;9l_LuR7gs1Z&*C2iy)m?rYxO*MWNfE>QgSFQDjr z;nzK%*Md*t{wtvL)I5Q0d$Q*1>OrPXn*~J8%C(;8VE& zAb2+TMNsem;5WSAx&ge9`K&AhBQ2hGj;yQgtImCyQnE}z8*w{ras*Nt3n=F0f~QCxq-=bz_#CZEsa`WHUy?*||c3C;dg!abp6NQC%GQVZ$D#q{@*kpKG)xB zerti7xqgvr9oHARP#KjUd*O@62HXouc2;nGoa?W-&gD9Z>xa0`;abIee+kCFr-r;F z6DM+gfa^0{GhF(6E0_2;{(YGb*Kr--`dKd6xUxN@@hg1R-^U!%|3AT}M~7#=!sl0U zHMlnO-LHbr;5v!V+ra-)IQ;#%a|!S#Nw_;&{%euV3VTqlsm_k)th z;@?)jKaDT$+k{fS6LsvtA`(c9sFsoOZomD z@L#$9nd^tRe-?NPm;UZ@sC*mzVSbwf=egE%J%metALV*2*D3sdA=i)c`Tub}lk6)?bN@l`9Pl7`AJ=bk{XW-juAk$Ie}57_{As`^fWOT3F0SwAef>QW{0s0O z?GF7KzJCSx+qs?-?w=L#aeVjL@a#IiyO7UYz-z&maea#G3EW=^>Tg$gPoMi-r*r>A zt|>l0nQMbSbNw)%U(NM4uK&e#Cg1%4sK57ey@cz0uD{}X6qo+a=NbL|8`p{9^BQnl z_`IL*ujcv?*L%41cXs$qpTExaJbmErbq?)IC#YA;(+$?CnVvU25Z z>u+DVGE)k-ZMc0pJHNhIZ`G=;-kM@+jaIF3OTV7!nq9flp5A!-^i<`XPNUvBx3aC* ztG9X$a)=2owi~TpJ=&fhHloT(T*JM9XV`dnyq&E$O9|#Vy(#&)+2{I?djqR``i6)Hdk%*NJ$iJFY-v$I91IC>$GQXLJ)50Hz-QK7kD+hs@`Ze z>$he{-jvP2;n_Z3BNJGJf(_>&?&oQW(`>*Tyilvpx8aQ%`8FF1mVa#}+3o3d8m)cV zifomC+S#hr5AN>wcF%2Z_gl5@j)SxHMU`*$P&Fpcq$kFPSIK2tr&B$&R3`iDvstyX zubXYnPzCTJ1gp-?HD>3jP?W-IQ9enort&<-t_?zRnUTK$EYdS}hkZYMJoWF6j2 z4`jD(%zrrEafh|3sVKQ=w`FtaO!~6h8vb<654(;COJJZ2|}0W*4mv*#z)Cf{#m&($)9wOW@Rk_gnHPflqrJ?fap0f6l4`eM% zxOL?4K6<-3$Pgdyce@Q&!}bat94forsmZ3nUTY&dUHVgFG&54N`oa3bVzZ7SN4Lk{ zyvL+hY|LR|%3$HgU`W;)b93r1WrfwfN3BT!pgQeY-H&y-L|U{*&NSRCROvFUibP_@8P zREW7ig#%t{>Hh^jTAvjuG6e;u3KW@w%O*}cCStuyA(2$TXg#(*`m3n9tmVT^bu-Yu zcWBW@X*M>TZ7(cHYb~J088$G++qLq@;pUOUW_^lh^?)fM7d+G3u$o!=N^w(GWx#l^ z#s=A9zdOHb(`v-!Xj9odn9AnCRJ#3!X+7E{lxbD7P*g0vo(~$jUGD(nfYJt`!^QQU zu|79fpY8RjdMG1n{rm;F+kSf|}w%4XlO|W0o=YXaj#ZRUb2{#gWqm%z)54Npey7p;YP}X?a?*i`uH} zQcte2mT?N57A&)}eh_unx4w?l2J1DPLhNp$9qy!-l4>^gX~YV3q!DJ@O;xiy&Sf%d z9kvu(o}yGoF_}$;WK{ZvdaY6A4SG)MX_ii~!IYyn)alq^N$uvONDX8PUum@u)zu6! zt-Qt8l$yrtlm8mC$-h}9zx+Xo4jJbonZ@4xD&ycJ^b)!agW_V+GQo=*qFu!$TzfhWqGH?V~{hvfLdk+5HuM21b3*Q89M8v;!Vyf3N^@=|Jo)ANL! zBv_nCAZ)o3$*gDH#d$M);YSANIIX1T#EGWSM|XNDaT`cNW=buCR%zHsQJ)4&)G|+< zXl{P2SxJV~+}s#uCo-Ow1)^f@++DDlj$aO@+!*>JsGYWSh#V@@m0eM(h$^%LzaF`- zhxrso4l`A~Br(XzX}-3iVhL6Quc^mV|6E9{q^+V>Dm0D{rU!|ZD7`7qSIwxxU_{Ba zV`Bz}6$t6Yx}C=(qQx9+x$JVXK)l(iMuEmY z%B`5WkJeJoXpEFINsnOInDM6Dr?z$BQOs6%|JWFTq+tp%4}GYrYSwIb5k~Ifl0>C8 z`4G%nOjZ0^JzQgBYOtqNRI_BHoqXuG6jkK<8I$HU$C&0q^+9yTwmuQ0!R zFmR4aWh&i;=&Q5xB+q-y)}7!mg}Gl{5tSs>^;s@LOID|#S;u8S#~b|Z7*W9qKY`wi zV-i}gl(Jq`(~j&3K6hx=;los0fIHv$Uu8YMePg%y;Ymv5v+Jj5)~e6;?P{;Jr0QH5CyxqZ}K zim=_<#{|nb)n`l~$}iKYX;>@rM8~KNbDU+>Gv)pO^^gqLN6k@1gDX!Yy_g!GX#o6L z__nsnt3}EfX{PK@bD;zpU{JBaPBr-ftZ4L9Qi$|9dR)Au!H3kL#)zR72bBQ>>z*l5 z=6zoPSmTNp#GIGR#04hY`K|DIBWYVX9J+b5Sf zlrZx65HUJ~CGkT9(L9pRY(N8_gxV)dV#4|#bI#5`=csIxQT#aNcDJj z%&{gbwvf9Ow7}WXUn5CIkr(J%KRB!LKHu-xq@3HONIxGotiO3--MrkKRU8OBA!Si( z_h;}Zn0ik_DV^=Z%1Egsl#A^}hCFH_DK1n066rNQXTw)bn`o9<)nsfs>yv%iPKF@+ zs?9x2&DV1)yr2j$_;I0PqXlaP?_L*0tnNe1PGfZ29djb2uhlr{nfM+v)KyJ5_pL?3 zQ>(hG^)8ggemhv|@}b+8?|6Gw4O4%yrbg=2!EDkq(wvbtGNPQY1!+RP6v$fCp!G0k zJ5{-)dT_wKeF?U9+2Nf#zbpAio>3=^N1so|6K)hK5&(^BZfJf`pI)|>_);eK@+n30 zDivmfwV;E`6ax?}z2?foB=?rAV!wH}av9B^HR2SCeAW9={?JJQ4*ex&d&46XA)oHG z#K;!*TL;r?j;4^NLP7^(J_6ApG{j5u*OVEyw-S@+JOo(ab+I{pdb>xUM|jlD`GO(F z{LDzN`E7;qri_uxhi9jPCh`7ChQUoZ4izdAIGdunjbIa6YeavK?m@zw?Vj1BkrJ3W!SX z;$o%q`MQY-Zm%2geHFe>^t)}?~E1E*hT-EOJsfW~M*o5twrt(YvDCCsWZg&MGpidLk&fM&2LT&u&tMn+4RgB~2REN9eBmV2s4uw%0e>aw!j zhW*}`qFWEm;wEBNg9uW2Ub>Y`3Mo31Hj=>tN%v$WLu2B^l299 z`Wkkm(b-tnn(z?Pq_+3|Y_Vw$Y3uZsNJ&H5m{i%|x7JBoT%o2*82i;=?5846#KkyE zj)jkrR%7@A%?8H>M^~QzrqYZTr}EH$h?zaK(Rj(tf{7$b993?f@dc3oPs76K0U9d8 z%I`rL@I5Q!W7Meh_*6Kl5D9Ovsp1$fN#@ZD@Ki2$WqSJ%5h+eiC;AscjTu;aE@f{^ z)YxMr5|Ph`-)TY!;jlaV#i{Bh|y%y7f9c+hIN zAmeCNR`K6cYHc2(*0@5BV5>q?K``^P3^mgjMmlrid`C9ZG30#KP|g;mhRwWVFDieZ zE%89rFwB=jxSUfMHZLtl10L#VEX#0KYBs_yv+i(u!47qnE_6i&rRS3%BZ8+}>%Gx!ARQLe1c@D;nR&9xN`7=^4HZ6G zst+==5cp9boy{VQ&d?t|=1iqEwq(2T{)Ct;xn~QLf8K#9ps`^qX0!}LKCQ0IQCqfg zOfeSLi+LF|A!5DdKmiUC0;#~$Vyscfv*4T&mpc>ZGkLkQGp`V%y<(oYPn)>Y2umWM zI8BL$a>(ygqJ{dv2RDOP&a)?;BlR#Fy4a~NU?mL4NEAnKBkGraHka03=C%e0pI0jA zfu>5ab!6&PiY(e%DfhC4;CKMGho?+ec$M(oG+#J-eAd-3C$?ON%Qj=mMWqR*a6XF{@nFZV+LtkiY%y=3p?I ze7ChetRp{sH&d(PnPtgW2v>%&7I77K6;>>VLqjuMPJT1_h@U3|Ro!l*UsX=;cFxbanR$IjL@Rtz&XKB)=8VeUeDG_5ZO@&-=qMyYeAFTawsula0>iKSn}0fQq^ zscJ?4Xx4Lf7K>3!@+eQ3p@_Vu^#XF-dl{3BY|{$JKue+QNtmqyAz(5ZWcfC$kg5Qb$9dV==sl z2hW-Zm#Jn#nO=h%GTTN$@^`4CtiXqKm=8!lm!dMmT zX|h3-ei~KO4=y$lvYxdZvnE=ws^?r5k*k6EZG{mG&qpq5hGf=OjKn$&6Wr(cjNc;h zI__MgK+w%*{X{0Y0*7BW-i&0IGKBAaDN3r0jc-(XlLreXFNkFe(Ax@P_2^3DZXr-{whM{Lwd>^Vdb2P-i> zibTeod7`yAx>oJf0+)8zYi+=KwKh6}`FK6A6s$C2=RmpAx27A0GKVP9Tv7;O8~u%> zB7-W{$lSxqifQsFrUr$`m-RF%L^KhMtOIrKk%{V>2T~G+kbU{}cP;I@M z&m5xA=*e7Z&_{GNDPMRpsEAm8dEEYyxZ!w1SSTW;P9fn z1#0k`r4}_vSf3OUh2m}i7ewF8t@aE9Iz}mwFpOlSp5yWw8SX~TV@b`I?&M8FWRTW* zdTps6{6N2>-9u~$oyQvEG(dgMbz>op`o*kGK#x@bn$|lDN@Ze$=Q;ZZMM?obI-jMEsplK`deW83tewXjZV8 z5sMWI3rp2!T~ej!5X?NJ{qly9BgR(11^0{Qq^$i#?GRpgD+Q1XgGcu%M2rYn+>3*Y z@h4j+H7xp~F@i}@#hH-~QH2btr2kqj{Udp5u%9u!Mcw23PG)|Uj2!}u@%$eP) zAIL7iwWHXFHSp6Kcqhd)*i^Q$@9D&>ZQ?rP_DUG!+!_iFg<{7bK8jldnNox@vrTL3 z3uCl1G)qCP6^z$K&4z|`G}KnR{V<<@YIWVrscLkp99V#l(sC_}O|u)#pfg8SF-Dt= zpJTWz{EGtbEwYTXY&^66(fwx0hF{g~)pm3`3hiI^?b1uT`@Mmej8tLOdQ>NBL053e zn^($dQ0~mOL^?DX34`QC8u_63H*u7Lhz3JKDF9?AWYJCfL)2yhRbnHmc4)#{AlxZO*HeqDP2W?RW(^(KwcGbxGs8zydQZW|` zT_o?q1pbI@0O2IX&DBBve3KKZ_{P8MO%$nOa-@bY}kY}JQVPlG*gk%Ke z`bRpltbg)*UlamqeRLJduf_fP4i(mHDo{QZ)+RQzaTBos3YJ!*qypzGO|ZRD}5)WQ0QRm%ktNgF#Rkzl%xF_amBh|g?a zvqJtzT-};SKBY7hgS(nZGAnx|79ZWCUDQGicI>_|6+B5n9v!L@+r%qnfo!XBMg*hn{7j<6jYdFNdZlx zhSlCds5xhrRn&706=B@1NNu)&sdwsdoEpsZ9c>`_gQMjv$zbH{92`HJmxw1>vO190 z2y%Q2qy4uS&(Vbx)uMGMu{3#joKL~}D(uvcSlh~YK@CNt)?;a04+V|Ac0uum~*jwpmj$&GKScIv!v(NxE*tYlh-@r`fHd zPzt?NsjP4pr884nJMp=pnFy?9J}xFOUlM+p!3N2i6qfz2c|n|WeL4?%B@IoTwrB?5 zJ1!-Hx(-vFy~ga#aIePNo(vrtd!?Zw+Svx%E)aV?|B5VQK{UxAPob|im*Yo9Y3NH; znK-Y+N0pB$zfgr`-{f&d1CzYOW=3ma6&Z;Pozb5~Yw_sIV9tx9cnzBOwc!L@%Jx7< z4nuUg@x;D#A;}{sYD`e4rBmyga!<=xHrk+K`BZ6#XlYwhtrwY?YlFiz6CA{CxwgV? z$cG)+YN55Y>0>h9skkrpqUNLPYa*`@_YP=iLwYAa=D&JWC?YULO@~J zIzf?F-Ca;AV#7h>obtSn5D_3%f5>VScu2s+mrr0E2?i^1RzDhKXZH_Ka8~4eu zjjOYbzBZ#6ja?Zw1=Ezie`L#PFkVH|%M>joH$cTi@SG206!_6o5;e%?RY&ec_9PD0 zhJ!6usK>~HrwFImDZ^!vq2tULiBBPxWM?Y|dBPu#rYp^EF((B&X>M||{0g15q$h{gkTARoMQ~za4{@vS=kD8rj_Ojqr3((S95`8e02t2jV!$RX;38F z*Z@RxD8Xal>kM+GU_u(Rn2>d2($B?Z{oP6V5;ht-z9~1c64g{Z`dW_oezBX_}++$6dFxH6jlJl?GPQIf8Wt)kyn?vh{Qe^k)kxgC9v@8bW zvh|`wX=GoFr%V#uK zZBq5gbCOR_#KIEvJ*5ckEO-WkkU-F3V=R^0+zx3pY?`?&Y8h>MjoBe|Ytn^7q8505 zqLi+kBqhc=+Kwco8^qE*&QKJ`A`i&V=lr1#+DAb72rG&*3>`V$)QgKS;=Y6k=j_^d zkzXJFmU^jNR_$P&=c}s%(rtcdIfQ+d z<)~7Jq*{D8+Y2jRlPMg;_}9RwpN2ekZhEmllsBnwQK0266mBbR3dxneU!YikO#)^?u7W>U}5^fk2lT4x|k zmWMf|8N^h=n+kKP9x z?_y~%Vd60+KFjYEEt*rgBVbsi6?m8C@zh*D$?G8h8_UY0`4qQAuQGmJM>vKLtvob6 za_8i!sMGZ>g*iFj0@f@yEq#=3-n;wCy*u_;J8Gg(dweNkK%S~qga=bREv2w+g=BNu za-xH#oY;HZryFb!V0Q|pwG$GBun~KjN-B_Y*~+WfAtc>=wM;vEd7Ze$&B#Wy)JSe% z+@@VkVTR!u9CC|FOVtgJ7CVnb@jPuF#N=W}R$MoVIYJ-gb3y|t7U$>-lVrKPj7~o? znC0XKJFX#e^<`tk(5L(SMf*9E5_# z5xs2*ly_~p!^+pp$^V)D4NjmqkZMb|yUF&w^hlR%yJGLoOS5y@em}jS z5m@WI5PUSvDRj)s5;!tFQ$Lqf*z>izufBF~y}Ga^+reJ2jqZGQ&U~-8xMkhC1N9kF zuTQgaU0ZKXS7&)`9Xdi4@2+E>l{E>_e_eB~TbxX$E~ew#nx=Yv!||Edr_V9x13T}d#$pK z(;GHV#UmHDWQSy@gkS+QQ;T>|VlssEdh-MiqTcneEdV=*9OkLZxs|J{otCDo8GG0sZ($FVUfZl~);li! zKsJL1O~nmEn*4>d)iXwzZL30(RUW0A*7I7Sg9i$~j#ZJMxPG0Nx2v=5)aUw5+J>qp zw@)W1hEO^!YG}cw^x{c;E=PdJ;%$ojjPTCv|orroV^)6T+GDC1>+fUW~#O3 zA+smywdw4lHgDk<+&Aw;wWk!(q`sp?>RRfFyQtY_DG*!lj!4*Y6xo+f*&kaX>ER+9 z!In?iA6p{jVxiZ_QKq0TUvAuGL;C#;W9w+E18CiS&<0DWSFf!olm{2T(GDwYrcoov zkbMg+@Rx?3Ih5U6*HMZ&#f?Exz|wf)I|$iclysnU)K0L7j`?(#!-|X->89u-+Z3i% zQ*SvBIVlD!j0RKfbq?u4R9%gD`CgZ0lh*EpENbCdgLZ=}s$tMP$=QjMUOPt`?#H$;O0o5qAKgPpgQ0dTlsXQB1L+A#XU3+6%~f793IkQ`Qen)L5bh%wAE!x&*Z8tlr(6w zLQx@mh9V2K;=}NgQpWUc{7^%)_HjqWq2@e+jdPg9oMe z(?N&h+JL58zJ0aqy->KAQ99z#a!LmR9-pitgIa%8Zl8rd>bKVD(hnap<~zz7#Mqv~ ziH52{ex%{?sX;o-P>JWK8RlG>I-`9o3NopTfneTuPdm|>k7(S=8M1Q)PPM*&pW6xb zZam6xd!K-yg78Zp>o=zJt@*++hLe;4Bj!N81B30A{$#Ar?yTz&vW(QVBgF zX9bRZPQ;A;+H%juUTV4LOkbj(!Wo5!v}t9n9?mDc44F=0f>Q7*fqDRyo4$drSiUHo zP{_JdPIzs0+YEO{ykxZFYW*$lXCTiB%U?4H}6`8$RNkPcK3Hoe)wS&B8-F1eAR_`3p-p=BH18hP< zrM0TMI_`Wz&1KdXLK$=x89tauIwC4 zjq=f-vIenNy%|DaxaC>M`Vq^hIn=kyADYvKp$_Yrv+4pigvYMH!FDvp^wjcptH=;i zwL$llEqOc5%BY*z;QUU94^o8eP+eih#p8Zv>hhgJ80Vd04?y=hOZ)XP9m-uy(R$XT zZ63gqzhdGvDnlD&;$)~UT4|Q4W~r=@h89k*a*!y^B1_4r9eT6_W;giyc^eNDP8(#@ zU}nDA&SnasXc&%ueiO2p0OC|Nu+R$O3nH3Q4JVfidwUn9ClxiDW z(3pV=8V?rKXHFKhZo_l5Js>o0@VeXDzGagv6t+Y+iX)baomUo46O_VX5F^vCc#&=1m|$a()9TOg35W)_c=VU_`aRkr}tY7 zaPvgmR8=8XiSRLT$;ScLM;aonHib(44qzwF>vY3n(wkN@LTd5?9R~(}C~(R!EPuqu zMmWd{Fcfse=jsf+(Rg6w`50o`{|^=A_HpqpbERpTO9Le zZ^2cjKYIss{IA&F5B1Y|WQ-0%VqFgKg3|6hu-;8i%7dVT{gyt~Pwc{C|EBtvBIAxA zd4aQlkK%GEv1p^x zp_@@fz3Fes305dL=%7}|0ZLFN;Ax}Gszj*@O zdxPDK7V^%{4)T*Q6nl0yJX2~Vy`uh~(#y9*>nR0o(pGL6bv9*|9no01d<=7Jr+Ppc zQy$e(;kPL7i*-L=H+P+y%Q~t?4IL_Zv^>pvpBj>m_?t#%YB)CP9+Cbor-gEqvr@a! z$(?9x79y-wipwIq_^=yN#n-fbabDr<^@bUcesc%U}r4_?h|0EV81H*GM(EO z(}BiJpNuc^o?_W3Y0Q!M>9ItR`(b>F*BnENcGd}!9#vfK>M9-7Cj$CudZyPV)SY+( zbx_}TBW>%&&376YPF*-?~8Cq+U~7E$SpbF{vq-&?;%agUACV!ilR&ib|9$SSBMVnKV$Lv+!(38QXj-J8H$=if-T~8nu&?pmJ|TpU;cfgo!(AHMs>52+&;=obcYp~A`Dy7Z=6y-FksqbtNZOEXKH%9mI#qXk>LqCaY(G9s7?4q( zkA*mKJDhB%k}&sWMxsZc$%?jD51C37CcE6?S=?BSMd}*G6`fM9xl*)+bagX|8>OZ!^|-TPGN?c#P3Mhc^y>lWj3&)(=3m6A=44s86=H^af^1b(WLgVF|Mo_*Q*hZaVOV%*&KQN+7(So{Zkta6VngaEZrd zhA3g<3ipAqWU_`66~`%Cct9}cB*^H#hG>Y{*R<&#`5i*nCGw{^K^9EA(lw@;s>o3r zj-I0p;3>Ja$tui02dOEvpFg1n43lQ$rbLtr+>)O;r!TtosKyy&k*k(0? z4d{KD_Qx6wK3eN{#mC1XFY0K9@&S!(;YlW}le!IAQdaugW6aMqvB_R)A&Dr#C9ZjV zO$6E37mBrtlO(Pkmm;A(d5koC(77!~#nB`jm7Ph-FoT5J;U7?khgCk3iXIFTJeNz6 zQMs6+4fdf}VEFmaKn!zQGWzJ$LeeI7(Sf3O71|<`Pcr1STISuv))vSE(*;ip{*I}j z)GQqg`u1Yfxpu(Y!2Jcg=DPe>zSdM_&KmL>6HvO%~GflMkJxvN12^Q-J}JLL!;3NrsFWc(6P^S*C@P(#oTmiG+4s9+D+&0>vS&4&HeW2|G%8LZJp}F#6@=GBbbT8EDBx zU@WVjieu-X{YHri!Y3msi3#pcWp{esTuD2);vG~F%4>Um+}VM7Ezz(g@XR5UwXh95 zlB-}D>V|@B3I&N1AEw5Ohfn3ID#@UjXVtiVfSM*59iw?-p2hKBQ8de04pqMJ#hCi5 zq+QR@^o!fwg-l75)NExFh=`AE$}9QZz)TbEshFG|iAqs`JT z_=0<<;DpD5FJ~SnGs?MhT3Ac7pCvcHn4yrAai%dwoNIuSQyfI$H20xAn}nsP=ZSfT zi4=1o6i*6MhQ&&%%O0Cyp=6~D)iz>9rS97e#C$oy2Wc4zX$aB^MdscF7d zwThza!_7ENS-BVohIm$wu&r%41B{AV?&c!X8DQ=f_V&Uzs;D=n!+8e#nOXkehp=~K zQt0HbYtsspd@ju1YBNwL1Eee}k^@6-6y|%N9_*5*k{T)y*oqt();Xv2d}It8r5DnP z-&_6#Up3uOQW+tRH6HUN_7;JRW8x`aRR!WHip<(Q%#XDLI0Y!+9Kw>UUH;` za86i(IR4_HURL@sFB*T0dDE*MUW}17MdG_7RCKlNeC(0H5lrtD_|kF-QOd>A*e|)3+10Qetv* z3_P;J5=hfR=1iuRcA8dpfPF0O_gof{&s?+RtZdUtNxiAK=BnizYkW(@+fD1u%zd`r z#YPPfn!KnAP)5EP5Gy}SyU9{_qn)V-U%Oy&2Ge=kQczB5bXtE=uDrYl@Z6YZQD+~f zTB5?skDpS>tu)2e2(_9S-_(RNvPw;n^J?UV{F}fDR_mopMpUo~Q=w#Y9X6#AX&6q% z)4WENEzSFhs>~sN*9z**X_7Gs4gK)~5%YqkbH|J~1}R!#n@G~aR};}R!` z)Xh<6;dLI)BMu`*XXENMSD;bRx=)DpWMW$^5kj>u@Mp0T7{9yX!F<$?2aH+RwW=DY zuj^IJm6$D-v%T)M@+7o|N1_n2&F8w6swK{kad0)qV;(FXDD$AwQ1EypttW7xqovD= zTvAcyI8K}JCvD)3mZBGoL*`<+Cwv84!G;>4@A3_34rzFS?6cIrTn-QXKqHQh`!E4z zU9XL3q-w2?=5gblTyqCCRnoZS`L`m)L-3rwGHZ3(9qqc;Pp~7596Z1!3(!?PKeGe8 z_;f@+LQQ?$G>sX0hLXXjnqWG`gQ!B6t@5Lf-9liswHk*73Sty0t7*wN$XCBBo`a0} z*dvYac-j|9)24n775%&q-*^EYR`D!!$l5&w|M7t8F8iA$A2kjb8hX;F2C+88(SbXc zdv3P6*yxeJM@KLBG@`_sl8(iokA6ekii8gyJ5^^Bh~^=ZZ*(iFMjnNEh(o86nI#W^ zRWtSSKFC%eC#)jEJT$_S0)KNFNRJO+5 zIE-mi^vZ(8AZUXQO&AnTouX*iT6}MuSvYelw33aDSo%)g<)_pJi-kq}p>Z#a8{pfX zjz%q&FIF8|XtB5@;>S#>MAaS-#^&Y&)F(!TedhSQpVn$tM79apHD|kEmxhuBFN>c$ zRXA5_-1CE$re4|Yr%DaIVqPH|W*QNL*9TF^Bi&U4j7W1>ro9Dd?J-Yiz@tO78Ha|G zqssHPN)C2X)1&Q(f(a^CGMmP`a|9K!gSOUz8pRV=S7`Yy*-lQBV2!4hF+|Dkl!uYF zIwPGBMNabcYG|u9Jhte)82aF$8QRC*c0_V_smef?9X4ml*3r25_rlpwsK8W%)IGAn zPAai&dXb79lD!bspU+38X{*uzc)%A~a;)cGM5n{H6h2ntoJBJy@uh|XpfGmLkglr_ z#up&lSnF^6@F%OjI#YICRu2uY;dA`*9d92Ui<|ZNc~nL080_REos5GymixBstS23i<2&?i$%@4YD}37;6|shL z8KIYpKxB(*!8s&;>lMJ0puJRB;YIPHIo2W?GcTR(k7eb+>45p7*sd|>IpsWU{3VB2 zU=C{G@i@``p>?oB19`o-WRH%Zq;1OAXc=C2)VS)-N9&soYvV5v;jHGd z6vtWuU$Hs92*rpPAFL5X9QCidL+i3z#o79z;#<2Ra6mDg$U{C9mCA~J^-RCP7Arcp zQX$*?G9=w>>DKQa=QIm4a=ePE?OHpBLOE&v6jemsWA9Wj6%$2c)x-y~T7z)P+o%gK*NDvHP;<=Mv5&S8yHgADGy zt;}!f*z}-8NWZRSuJN_5=)d!L)7&$PGbbhgy{U{_dqvTkJ znzM&_HRRXhp)2uCt;~d0T)eSx;O~-SU#c{Okt;>#e5E7B7HR?c$o&vyrXf14GbC2@H_nsClDQU^|D1^D#}H#f?Vp0Rk6F>s(N(r$u`uhVn@R zQkpVe^a(VvgHhUyE$#2c+(&Lo=G$;u+vMRR_KpT~=8Y|ObSkR0=B4)9P0-}WoI_!W zbIfp$Nx9YMuc2`EE=GezgyWJprF>yW#FSOMoW4>O z-;313X+aONYzL%YH5L`eTZ7v69l8_S*bzb2I0czq6Nf0n6%K4}sY;D2o!E$R=^xho zAd8uJ#?38MikTQ&wQ6*@n;iudqLW}LWo4yL+-bRv%*pbObC1K^X-SFaa!y||EpvOA zr0|L}z638WRxNOVQ8zkTBp8W{)B)JRKEoZrc!pAPAwNIcCn(+rqe87{8uHtLI`SWw z-@SN_Poe$u1u{0bMdfL*V$iEKg?hxI)=POLv%@kg3u(Dm@lBV zkSrF+Bn|G8;Sz;D9VbymPP2#elX;eu!E1fgO^!A~3eKnCX+#lVc)F#eWino&{FTHD zXj%_zvj$MKUhY{M{}Ow5x>qtfSi*<_0W_D|`26B%Za`w~Se)Qgu`V_hu>6AhwkYLs z7&)R=OT09;QgY(R!(e@nxY5pC$XO@NmZIwvK4>o6@+pf7Ia(tV_9164Hs=vSH5nG(H;}#~&wEEamN+w6-9jWZ&oTU5v zjw;b=JW3}lLmDb(!6UFlD-~!MQ^djSXY~vxnRZ3ikvf|7)12V)#dgETBsMgXCN$V2 z%I6zc&^4AX-GwbaA5O$N=do`_E-AbhThN7hT0YT`Y&uPcUeS-zY0njp(iti0139E_ z9gV8>n$c2<NxuJN-mluS~+@43y0=}4hH4qJ=u625zSVQs*FDE zAvdfBksfR@KIxoQ{B@rzlLy|9$sq!-Dx+c@9jpxsM&&v5QrL4!yr^?-mx`mdS?18X+R)K%E!v*24FQ=fc0ET)GT z?XV|8Dq1R&g=;20E)zEFxst1Omjw55#|>Eq)kirAtVY}3p!lZp_O~JlqIW-^^c!rf z$VABsmG#GsA6Mgzjtyawn)~1%OfJ=dQ))s<5Se6{*)*<>rGYXwicpOLZi9(=M(Qjt{cp&o9+3;GU)vE7=j)$1Ty5rF^!$l19 zi3N{VA(n7B<23!~PA27RQ~z?QVzGP1Y$5O2ijCpO;ar#U=oScM(~_c(C9aq_ALj@C zUU2TDnR4W9xYR*AbEu59qI_2Qw!($3B{qC`-Yx#4dL@r0B9j79eFx+5S>^Ag>gKd8 zQ4s~Kt!*VIuFq_GSAy+3$mo9!{pEdd?;r#XM>gaE^S+UyUW%u}qz+<4SLXC)E?O@b zJv7V>p#Tbc49C92uufNT`Ise$Ow{qg7vZ5SB}bAg&Rh?Lm=o_xZM&E>OdU+q9Xl~r zHf04Vl7$gMSE46m?39=2x6EW4Ll@3lXtC{PR-I8WuC3Y-p094waC4tGEqUBzoe;iGKkhZhSw_CfT&~G1{GP?6LiOf4}*2@6PWS zu2=AX9sghOe*^zdcHoBVci>6jU0?&a=LyCHum#M3-}iCHlZ+j}xDBNBUjxU1zXF$m zyLU477Vrxoy}toWfPVl#2kzR%SP%Fm@G$US;Pb%!yBT{9*aXt}EbusR8u$%#x(*!0 zc;C~E9Rj`&{21tfp8|jD;bq>}C9+27{^5&o2S#qV;s)=y=A9 zK)5SjdvS+|c##~KdEfOEX5glHy?{GRfz!R0+AE`nc`B_JN=wIk!YZ+t9va-IaxR_cN_%ND<#{G~rh3Xr%e%tzYvsB%^}!826C7^~<#AHblAA7; z2vUN(U@^tb;#KMSXF)-g;JFTY&WHGdRCzA1@$yH$sHEl{Y=e+gl4AEuAj7a4>g38w zjt!YyGS&ecriv&(I|y-e-YVUJghSQSq|W5>bnw&db0+A_O)RIfOZpwY&y2?x;>n{T zkd$$2#mYm3Ocq_^oWlC(%yK<784SfRHM*@j^{dWkc1iTDphZQwUKlbH&pqSu(6y#x zMNzA3L9-w|HAPop8BF6XUSn5CBWoqH zNNGW-orTJNBvwyq3^JjS;L$_A{3%_M*vJ-Ss8Xw&3zPwQ+Lr4sHbYk9fx8ADgWJ~XHH5Ke1+9oD zP_SBX;aY7WD!Fa8x%Pj;k>&nO|d=L z8%qz~=^8kfYB7~?G|YnLC=mvuU;yeFqyg9Vhvj-eMsFY0;_wU^%W-e6#Y|ltU4u{6 zMvy4=5zI_M0MY>tV>8xVm8nlAvt&V92ca!KGk*Sq@rx6DVPbY}a{6*@R(9d{WXg3^ zmYfS6m&_Yv$jtP7a^A{FHpzR!%NB1oMouP;car7_K60{keDp}8*=S&4GAlu1IQ*V< zBgc5-RI737NCOw5=X^46ks`V9#w=O^wgaPhRF{Of{|-0%@SnIv+CBOg*Hz z2|dtleNn!PQ*gOd4`E{yPU*&jvn zDt(%#OTs$o$F9s@NKS37BOTk)CKDPi1>LpysYT^$GkLHgPc9f+I7sfsp&M(S=GEhv z=0jtAj)T|3}(D&^du@XK5MP9dY{R3Luh z@mj@(;vQZ@(VKYYBPA5l(fN;R5|<4p#{~&R(a|WVU?f;L*dyj7yap~He?h*?H|!x* z3RxI5dU|wWqhAR2&^@3sG^cyFOysn^keQ0F9?}k0ws!*rYp@sal|fC=)~O4Kd%Hj- zjhdT4sq~wGApWmZhbmb}DdmtEXa`6o`mEXTfhJz`0xSS}I&X3lvnJ=r6e4_bQ(Ur< z!VI1+h~1DB#Hcb26j-sv^r=D5NxdlOi=)5Wi5!Ve=~mt(;^!&xK4LaV{99)s2D-dc zAmber5%ldPQIEvOb74Rx+AO|$5a;SOn0Y|E*aZx+KR$1|3P)9zJV=+#HgE++k@23i z<;|)Gz>$^1D)x_LgAPWu6Zs!z34~mt*u5YcZ*jO6r45p;hH_bX;G3)Aa diff --git a/105_java/task.yaml b/105_java/task.yaml index 1e807efc..95ce97ee 100644 --- a/105_java/task.yaml +++ b/105_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez les champs ci-dessous conformément à l'énoncé de la phase de réalisation de la mission 7.

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/106_java/task.yaml b/106_java/task.yaml index 80a248d6..b2b1219c 100644 --- a/106_java/task.yaml +++ b/106_java/task.yaml @@ -45,7 +45,7 @@ context: |+ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/108_java/task.yaml b/108_java/task.yaml index 6357f338..beb131a2 100644 --- a/108_java/task.yaml +++ b/108_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez les champs ci-dessous conformément à l'énoncé de la phase de réalisation de la mission 9.

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/111_java/task.yaml b/111_java/task.yaml index 13fc4d2f..85f36957 100644 --- a/111_java/task.yaml +++ b/111_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez les champs ci-dessous conformément à l'énoncé de la phase de réalisation de la mission 3.

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/112_java/task.yaml b/112_java/task.yaml index 75730e71..7a09d682 100644 --- a/112_java/task.yaml +++ b/112_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez la classe BioInfo conformément à l'énoncé de la phase de réalisation de la mission 4.

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/14_java/task.yaml b/14_java/task.yaml index 62733d8e..bdce1224 100644 --- a/14_java/task.yaml +++ b/14_java/task.yaml @@ -50,7 +50,7 @@ context: |+ } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/85_java/task.yaml b/85_java/task.yaml index b516037a..cd10e8ab 100644 --- a/85_java/task.yaml +++ b/85_java/task.yaml @@ -15,7 +15,7 @@ context: |+ Par exemple, le nombre d'entiers positifs compris entre -1 et 2, bornes non incluses, sera égal à 2.

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/87_java/task.yaml b/87_java/task.yaml index bab03940..7e78ca70 100644 --- a/87_java/task.yaml +++ b/87_java/task.yaml @@ -40,7 +40,7 @@ context: |+ Pour résoudre ce problème, pensez à la découper en sous-problèmes et n’hésitez pas à utiliser une ou plusieurs méthodes privées supplémentaires.

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/88_java/task.yaml b/88_java/task.yaml index 5d5d8818..1d71246c 100644 --- a/88_java/task.yaml +++ b/88_java/task.yaml @@ -12,7 +12,7 @@ context: |+ Vous devez définir la méthode countDistinctInt qui compte le nombre d'entiers uniques parmi les cinq paramètres a, b, c, d et e

-environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q10/task.yaml b/m01Q10/task.yaml index 1733370f..54ada12c 100644 --- a/m01Q10/task.yaml +++ b/m01Q10/task.yaml @@ -11,7 +11,7 @@ context: |- int a; int b; int c; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q11/task.yaml b/m01Q11/task.yaml index 96c3d287..cce79f23 100644 --- a/m01Q11/task.yaml +++ b/m01Q11/task.yaml @@ -12,7 +12,7 @@ context: |- double a; double b; double c; -environment_id: java8 +environment_id: javajudgejudge environment_parameters: limits: time: '30' diff --git a/m01Q12/task.yaml b/m01Q12/task.yaml index 41623f89..dea784d6 100644 --- a/m01Q12/task.yaml +++ b/m01Q12/task.yaml @@ -11,7 +11,7 @@ context: |- int b; int c; int maximum; // le plus grand parmi a, b, c -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q13/task.yaml b/m01Q13/task.yaml index 8363212f..82b04927 100644 --- a/m01Q13/task.yaml +++ b/m01Q13/task.yaml @@ -13,7 +13,7 @@ context: |- int c; int d; int min; // le plus petit parmi a, b, c, d -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q14/task.yaml b/m01Q14/task.yaml index 5b3df1b1..b7b623be 100644 --- a/m01Q14/task.yaml +++ b/m01Q14/task.yaml @@ -13,7 +13,7 @@ context: |- int a; int b; int c; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q15/task.yaml b/m01Q15/task.yaml index 54b60cca..4b17d2cd 100644 --- a/m01Q15/task.yaml +++ b/m01Q15/task.yaml @@ -15,7 +15,7 @@ context: |- int jour; // le jour int mois; // le mois String saison; // le nom de la saison (automne, hiver, printemps, été) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q16/task.yaml b/m01Q16/task.yaml index 6ad11568..2fafeade 100644 --- a/m01Q16/task.yaml +++ b/m01Q16/task.yaml @@ -13,7 +13,7 @@ context: |- int minute; // le nombre de minutes int seconde; // le nombre de secondes int total = 0; // le nombre de secondes depuis minuit -environment_id: java8 +environment_id: javajudgejudge environment_parameters: limits: time: '30' diff --git a/m01Q17/task.yaml b/m01Q17/task.yaml index ef873e50..02968ed9 100644 --- a/m01Q17/task.yaml +++ b/m01Q17/task.yaml @@ -13,7 +13,7 @@ context: |- int annee; // l'année à vérifier boolean resultat; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q18/task.yaml b/m01Q18/task.yaml index 5f824611..760a71bd 100644 --- a/m01Q18/task.yaml +++ b/m01Q18/task.yaml @@ -9,7 +9,7 @@ context: |- int annee; // l'année à vérifier int siecle; // le siècle de l'année -environment_id: java8 +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q2/task.yaml b/m01Q2/task.yaml index a7bf027a..721bed6c 100644 --- a/m01Q2/task.yaml +++ b/m01Q2/task.yaml @@ -24,7 +24,7 @@ context: |+ double vitesseVehicule = // valeur réelle positive double amende = 0; // modifié par votre programme et renvoie la valeur de l'amende -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q20/task.yaml b/m01Q20/task.yaml index 8526a41c..4695a1a3 100644 --- a/m01Q20/task.yaml +++ b/m01Q20/task.yaml @@ -13,7 +13,7 @@ context: |- char carac; // le caractère à vérifier String retour; // chiffre, voyelle ou consonne -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q3/task.yaml b/m01Q3/task.yaml index 5f4bdaf3..d22d6a75 100644 --- a/m01Q3/task.yaml +++ b/m01Q3/task.yaml @@ -19,7 +19,7 @@ context: |+ int poids; // poids d'une personne en kg String etat; // état de la personne (mince, normal, embonpoint, obèse) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q4/task.yaml b/m01Q4/task.yaml index 0de2c4b0..20fd3c74 100644 --- a/m01Q4/task.yaml +++ b/m01Q4/task.yaml @@ -20,7 +20,7 @@ context: |- - Si ``sectionEntree`` vaut 3 et ``sectionSortie`` vaut 5, la voiture a parcouru 3 sections (les section 3, 4 et 5), donc le prix est 2.0€ (1€ + 0.5€ + 0.5€). - Si ``sectionEntree`` vaut 2 et ``sectionSortie`` vaut 2, la voiture a parcouru 1 section (la section 2), donc le prix est 1€. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q5/task.yaml b/m01Q5/task.yaml index bf033542..30456f45 100644 --- a/m01Q5/task.yaml +++ b/m01Q5/task.yaml @@ -18,7 +18,7 @@ context: | boolean a; boolean b; boolean xor; // placer dans cette variable votre résultat -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q6/task.yaml b/m01Q6/task.yaml index 3e895ea5..15c87fe5 100644 --- a/m01Q6/task.yaml +++ b/m01Q6/task.yaml @@ -19,7 +19,7 @@ context: |+ int i = // le nombre à vérifier (i >= 1) String temp = "" // fizz, buzz, fizzbuzz, non -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q7/task.yaml b/m01Q7/task.yaml index d10a78b2..50674ca4 100644 --- a/m01Q7/task.yaml +++ b/m01Q7/task.yaml @@ -16,7 +16,7 @@ context: |+ int n = // n peut prendre n'importe quelle valeur supérieure à zéro int sum = 0; // sum est la variable dans laquelle vous devez écrire le résultat final -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q8/task.yaml b/m01Q8/task.yaml index d7e3417e..8c8df6a7 100644 --- a/m01Q8/task.yaml +++ b/m01Q8/task.yaml @@ -16,7 +16,7 @@ context: |+ int a, int b, int c; // Les valeurs entières à comparer int mediane; // La médiane à déterminer -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01Q9/task.yaml b/m01Q9/task.yaml index 45b4e38a..72eb95a0 100644 --- a/m01Q9/task.yaml +++ b/m01Q9/task.yaml @@ -11,7 +11,7 @@ context: |- int x; // la valeur à vérifier int a; // borne inférieure de l'intervalle int b; // borne supérieure de l'intervalle -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m01_bf/task.yaml b/m01_bf/task.yaml index f7bb4c77..7868b36f 100644 --- a/m01_bf/task.yaml +++ b/m01_bf/task.yaml @@ -19,7 +19,7 @@ context: |- Afin d'aider les mathématiciens à éventuellement trouver un contre-exemple, écrivez un programme Java qui permet de calculer la suite de Syracuse pour n’importe quel naturel non-nul :math:`s_0`. Le programme s'arrête bien entendu lorsque le naturel 1 est atteint. Vous devez afficher chaque élément de la suite sur la sortie standard, avec ``System.out.println()``. La valeur de départ vous est déjà fournie et se trouve dans une variable de type ``int`` nommée ``s0``. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q1/task.yaml b/m02Q1/task.yaml index cc08c624..17f56dc9 100644 --- a/m02Q1/task.yaml +++ b/m02Q1/task.yaml @@ -12,7 +12,7 @@ context: |- int a; //a un entier strictement positif int b; //b un entier strictement positif int reste; // le reste de la division entière. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q10/task.yaml b/m02Q10/task.yaml index 85a63e99..5935507a 100644 --- a/m02Q10/task.yaml +++ b/m02Q10/task.yaml @@ -10,7 +10,7 @@ context: | int a; // l'entier a int resultat = 0; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q3/task.yaml b/m02Q3/task.yaml index 2496c1b3..f97bf2cb 100644 --- a/m02Q3/task.yaml +++ b/m02Q3/task.yaml @@ -20,7 +20,7 @@ context: |- .. code-block:: java int cote = // la longueur du cote -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q4/task.yaml b/m02Q4/task.yaml index ffc2bd8d..1c12cc1e 100644 --- a/m02Q4/task.yaml +++ b/m02Q4/task.yaml @@ -21,7 +21,7 @@ context: |+ int hauteur; // la hauteur du H int largeur; // la largeur du H -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q5/task.yaml b/m02Q5/task.yaml index 1225e135..2585cf04 100644 --- a/m02Q5/task.yaml +++ b/m02Q5/task.yaml @@ -20,7 +20,7 @@ context: | int hauteur; // la hauteur du X NB: Même un retour à la ligne est un caractère de trop! -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q6/task.yaml b/m02Q6/task.yaml index 771fb96e..8c209d7d 100644 --- a/m02Q6/task.yaml +++ b/m02Q6/task.yaml @@ -21,7 +21,7 @@ context: |- .. code-block:: java int hauteur; // la hauteur du S -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q7/task.yaml b/m02Q7/task.yaml index f8414376..803470df 100644 --- a/m02Q7/task.yaml +++ b/m02Q7/task.yaml @@ -11,7 +11,7 @@ context: | double y; // le pourcentage double base; // l'argent sur le compte sans les intérêts double resultat; // le resultat du calcul -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q8/task.yaml b/m02Q8/task.yaml index ad6d9850..9fb39d69 100644 --- a/m02Q8/task.yaml +++ b/m02Q8/task.yaml @@ -13,7 +13,7 @@ context: | int resultat = 0; Tip : faites attention à la valeur de la variable resultat ! -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02Q9/task.yaml b/m02Q9/task.yaml index 83534ef0..d0396ea7 100644 --- a/m02Q9/task.yaml +++ b/m02Q9/task.yaml @@ -11,7 +11,7 @@ context: | int a; // l'entier a int b; // l'entier b int resultat = 0; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02_bf/task.yaml b/m02_bf/task.yaml index 22bace8a..c4184acb 100644 --- a/m02_bf/task.yaml +++ b/m02_bf/task.yaml @@ -20,7 +20,7 @@ context: |- 7:1 Votre programme doit afficher son résultat exactement comme présenté dans l'exemple ci-dessus. Vous ne devez pas déclarer, ni initialiser la variable de type ``int`` nommée ``n``, elle vous sera fournie. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02dem2/task.yaml b/m02dem2/task.yaml index ceb72985..369159a0 100644 --- a/m02dem2/task.yaml +++ b/m02dem2/task.yaml @@ -9,7 +9,7 @@ context: |- int n = // n peut prendre n'importe quelle valeur int sum = 0; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02dem3/task.yaml b/m02dem3/task.yaml index b439cbd2..9a8e957d 100644 --- a/m02dem3/task.yaml +++ b/m02dem3/task.yaml @@ -15,7 +15,7 @@ context: |+ int a = // a peut prendre n'importe quelle valeur int valeur = 1; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02dem4/task.yaml b/m02dem4/task.yaml index d090493b..4528b703 100644 --- a/m02dem4/task.yaml +++ b/m02dem4/task.yaml @@ -11,7 +11,7 @@ context: | int n = // n est plus grand ou égal à 0 int biggest = 0; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02dem5/task.yaml b/m02dem5/task.yaml index 73806153..463e3189 100644 --- a/m02dem5/task.yaml +++ b/m02dem5/task.yaml @@ -9,7 +9,7 @@ context: | int n = // n est plus grand ou égal à zéro boolean prime = true; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m02real/task.yaml b/m02real/task.yaml index afc4a5d8..4a501e81 100644 --- a/m02real/task.yaml +++ b/m02real/task.yaml @@ -11,7 +11,7 @@ context: |- - EquationSimple.java - TextIO.java - README.txt -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q1/task.yaml b/m03Q1/task.yaml index cb4510a6..a9d0d141 100644 --- a/m03Q1/task.yaml +++ b/m03Q1/task.yaml @@ -18,7 +18,7 @@ context: |+ Votre méthode devra s'appeler ``intervalle`` et prendra comme premier argument ``a``, la borne inférieure de l'intervalle, comme deuxième argument, ``b``, la borne supérieure et comme dernier argument la valeur à tester. Ces trois arguments sont des entiers. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q2/task.yaml b/m03Q2/task.yaml index 721a790b..3ab3f95e 100644 --- a/m03Q2/task.yaml +++ b/m03Q2/task.yaml @@ -13,7 +13,7 @@ context: | * @post retourne la surface du rectangle dont les * largeur et longueur sont données. */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q3/task.yaml b/m03Q3/task.yaml index 1c9e7dec..91e9a394 100644 --- a/m03Q3/task.yaml +++ b/m03Q3/task.yaml @@ -13,7 +13,7 @@ context: |- */ Vous pouvez réutiliser votre code de la question supplémentaire maximum de la mission 1. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q4/task.yaml b/m03Q4/task.yaml index 61b54075..a5c3bdb0 100644 --- a/m03Q4/task.yaml +++ b/m03Q4/task.yaml @@ -24,7 +24,7 @@ context: |+ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q5/task.yaml b/m03Q5/task.yaml index 13fc8d88..ab957634 100644 --- a/m03Q5/task.yaml +++ b/m03Q5/task.yaml @@ -10,7 +10,7 @@ context: |+ En Java, la constante :math:`\pi` est définie dans la classe `Math `_ comme la constante ``Math.PI`` -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q6/task.yaml b/m03Q6/task.yaml index 1ce7c1b1..c5b05be8 100644 --- a/m03Q6/task.yaml +++ b/m03Q6/task.yaml @@ -13,7 +13,7 @@ context: |- * @pre n > 0 * @post retourne la valeur de la factorielle de n */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03Q7/task.yaml b/m03Q7/task.yaml index 60c76929..c01b96a6 100644 --- a/m03Q7/task.yaml +++ b/m03Q7/task.yaml @@ -14,7 +14,7 @@ context: |- * @post retourne true si l'entier x est * un carré parfait, false sinon */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '20' diff --git a/m03_bf/task.yaml b/m03_bf/task.yaml index 904a5521..6dc847aa 100644 --- a/m03_bf/task.yaml +++ b/m03_bf/task.yaml @@ -32,7 +32,7 @@ context: | - ``chiffresPairs(5555)`` doit retourner ``true`` - ``chiffresPairs(555)`` doit retourner ``false`` - ``chiffresPairs(-555)`` doit retourner ``false`` -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03dem2/task.yaml b/m03dem2/task.yaml index 310db4c4..904e6246 100644 --- a/m03dem2/task.yaml +++ b/m03dem2/task.yaml @@ -15,7 +15,7 @@ context: |- ∗ @pre - ∗ @post affiche le maximum entre les nombres entiers a et b ∗ / -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03dem3/task.yaml b/m03dem3/task.yaml index e6b4dd02..ff19d7b3 100644 --- a/m03dem3/task.yaml +++ b/m03dem3/task.yaml @@ -11,7 +11,7 @@ context: |- ∗ @pre n > 0 ∗ @post retourne true lorsque n est un nombre entier impair et false sinon. ∗ / -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '20' diff --git a/m03dem4/task.yaml b/m03dem4/task.yaml index 4b2ff41f..1d94fc01 100644 --- a/m03dem4/task.yaml +++ b/m03dem4/task.yaml @@ -37,7 +37,7 @@ context: |+ X XXXXX -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '20' diff --git a/m03dem5/task.yaml b/m03dem5/task.yaml index 114656c6..b5d20539 100644 --- a/m03dem5/task.yaml +++ b/m03dem5/task.yaml @@ -16,7 +16,7 @@ context: |- public static int nDiv(int n) { // Votre code ici } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m03real1/task.yaml b/m03real1/task.yaml index 7709b6ad..6bdc2745 100644 --- a/m03real1/task.yaml +++ b/m03real1/task.yaml @@ -3,7 +3,7 @@ author: François MICHEL categories: [] contact_url: '' context: Soumettez l'archive zip contenant le fichier LibMath.java et README.txt -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q1/task.yaml b/m04Q1/task.yaml index 0d7b18d2..47248798 100644 --- a/m04Q1/task.yaml +++ b/m04Q1/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre s != null * @post retourne le nombre d’occurrences du caractère c dans la chaîne s */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q10/task.yaml b/m04Q10/task.yaml index e9fa8129..7471220b 100644 --- a/m04Q10/task.yaml +++ b/m04Q10/task.yaml @@ -17,7 +17,7 @@ context: |+ La méthode ci-dessous pourrait vous aider à résoudre facilement cette question : ``_ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q11/task.yaml b/m04Q11/task.yaml index 43eada44..06d63882 100644 --- a/m04Q11/task.yaml +++ b/m04Q11/task.yaml @@ -16,7 +16,7 @@ context: |- * @post retourne le caractère qui se trouve le plus grand * nombre de fois dans la chaîne s */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q2/task.yaml b/m04Q2/task.yaml index 6549f48f..c96a0507 100644 --- a/m04Q2/task.yaml +++ b/m04Q2/task.yaml @@ -11,7 +11,7 @@ context: |- * @pre s!=null * @post retourne true si le caractère c est dans s, false sinon */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q3/task.yaml b/m04Q3/task.yaml index 772e24fb..79644bb7 100644 --- a/m04Q3/task.yaml +++ b/m04Q3/task.yaml @@ -16,7 +16,7 @@ context: |- Il y a une méthode dans la classe Character qui devrait vous aider à vérifier qu'un caractère est un chiffre, voir https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q4/task.yaml b/m04Q4/task.yaml index 3526d57c..40436ca0 100644 --- a/m04Q4/task.yaml +++ b/m04Q4/task.yaml @@ -19,7 +19,7 @@ context: | Vous trouverez dans la classe `Character `_ des méthodes utiles pour cette tâche. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q5/task.yaml b/m04Q5/task.yaml index 3f8a78fd..12709bc5 100644 --- a/m04Q5/task.yaml +++ b/m04Q5/task.yaml @@ -14,7 +14,7 @@ context: |- * @post retourne true uniquement si la chaine de caractères * s ne contient que les caractères 0 ou 1 */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q6/task.yaml b/m04Q6/task.yaml index 244084a2..775ccd05 100644 --- a/m04Q6/task.yaml +++ b/m04Q6/task.yaml @@ -14,7 +14,7 @@ context: |- * @post retourne true si la chaine s contient uniquement des * caracteres se trouvant la chaine c, false sinon */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q7/task.yaml b/m04Q7/task.yaml index 71d41696..d7795307 100644 --- a/m04Q7/task.yaml +++ b/m04Q7/task.yaml @@ -15,7 +15,7 @@ context: |- * @pre s != null * @post retourne true si s est un palindrome, false sinon */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q8/task.yaml b/m04Q8/task.yaml index 02e9fc3f..2541a856 100644 --- a/m04Q8/task.yaml +++ b/m04Q8/task.yaml @@ -13,7 +13,7 @@ context: |- * @post retourne true si la chaine de caractère in se trouve * dans la chaîne de caractères s */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04Q9/task.yaml b/m04Q9/task.yaml index 96192f43..c7290a25 100644 --- a/m04Q9/task.yaml +++ b/m04Q9/task.yaml @@ -18,7 +18,7 @@ context: |- * @post retourne la représentation entière du nombre binaire * correspondant à cette chaîne */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04_bf/task.yaml b/m04_bf/task.yaml index 76669571..4468c081 100644 --- a/m04_bf/task.yaml +++ b/m04_bf/task.yaml @@ -36,7 +36,7 @@ context: |- Affiche les valeurs 0, 1, 2, 3 et 4. Pour résoudre ce problème, pensez à la découper en sous-problèmes et n’hésitez pas à utiliser une ou plusieurs méthodes privées supplémentaires. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04dem1/task.yaml b/m04dem1/task.yaml index d2580015..c7554493 100644 --- a/m04dem1/task.yaml +++ b/m04dem1/task.yaml @@ -12,7 +12,7 @@ context: | char d = // un caractère de a à z, en majuscule ou non boolean b; // à assigner dans la Question 1 char e; // à assigner dans la Question 2 -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04dem2/task.yaml b/m04dem2/task.yaml index f1623ba7..3bbdd72e 100644 --- a/m04dem2/task.yaml +++ b/m04dem2/task.yaml @@ -24,7 +24,7 @@ context: |- public static String cat(String s1, char c) { // À compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04dem3/task.yaml b/m04dem3/task.yaml index d99677c5..5ddd996e 100644 --- a/m04dem3/task.yaml +++ b/m04dem3/task.yaml @@ -22,7 +22,7 @@ context: | public static void showLength(String s) { // à compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04dem4/task.yaml b/m04dem4/task.yaml index 58790f20..02b7c3db 100644 --- a/m04dem4/task.yaml +++ b/m04dem4/task.yaml @@ -17,7 +17,7 @@ context: |+ // À implémenter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04dem5/task.yaml b/m04dem5/task.yaml index 7af33f17..38d238ba 100644 --- a/m04dem5/task.yaml +++ b/m04dem5/task.yaml @@ -18,7 +18,7 @@ context: |- public static boolean containsChar(String s1, String s2){ // À implémenter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m04real/task.yaml b/m04real/task.yaml index a0b772d2..d34b9fbc 100644 --- a/m04real/task.yaml +++ b/m04real/task.yaml @@ -9,7 +9,7 @@ context: |- - BioInfo.java - README.txt -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q1/task.yaml b/m05Q1/task.yaml index b7e0bf6f..3a5f7f9e 100644 --- a/m05Q1/task.yaml +++ b/m05Q1/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre v != null, v contient au moins 2 éléments * @post retourne vrai si tous les éléments du tableau ont la même valeur, false sinon */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q10/task.yaml b/m05Q10/task.yaml index e2334ed7..ee217bc5 100644 --- a/m05Q10/task.yaml +++ b/m05Q10/task.yaml @@ -13,7 +13,7 @@ context: |- * @post retourne un tableau dont chaque élément est la somme des éléments * des tableaux a et b au même indice */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q11/task.yaml b/m05Q11/task.yaml index 4f3cb5b2..ead2c838 100644 --- a/m05Q11/task.yaml +++ b/m05Q11/task.yaml @@ -21,7 +21,7 @@ context: |- * dont les éléments sont dans l'ordre croissant * et qui contient les n plus grands entiers du tableau v */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q12/task.yaml b/m05Q12/task.yaml index a7c7d827..4faa5a2a 100644 --- a/m05Q12/task.yaml +++ b/m05Q12/task.yaml @@ -20,7 +20,7 @@ context: |+ */ public static void oppose2(int[] v) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q2/task.yaml b/m05Q2/task.yaml index 22dda043..7b0b4113 100644 --- a/m05Q2/task.yaml +++ b/m05Q2/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre v != null * @post retourne le maximum du tableau de réels v */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q3/task.yaml b/m05Q3/task.yaml index 01f17794..77cc8404 100644 --- a/m05Q3/task.yaml +++ b/m05Q3/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre v != null * @post retourne la moyenne arithmétique du tableau de réels v */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q4/task.yaml b/m05Q4/task.yaml index 63313739..1a9ee77b 100644 --- a/m05Q4/task.yaml +++ b/m05Q4/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre t != null * @post retourne true si les éléments du tableau t sont croissants, false sinon */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q5/task.yaml b/m05Q5/task.yaml index b9fe1ac7..f57f0eda 100644 --- a/m05Q5/task.yaml +++ b/m05Q5/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre n > 0 * @post retourne un vecteur de n éléments tous initialisés à la valeur i */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q6/task.yaml b/m05Q6/task.yaml index 1f10abc7..e0b3eba9 100644 --- a/m05Q6/task.yaml +++ b/m05Q6/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre n > 0 * @post retourne la matrice identité de taille n×n */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q7/task.yaml b/m05Q7/task.yaml index 11be1c8f..aa61be75 100644 --- a/m05Q7/task.yaml +++ b/m05Q7/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre m != null * @post compte le nombre d'occurences de la valeur v dans int[][] m */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q8/task.yaml b/m05Q8/task.yaml index b0dca2e4..e603d610 100644 --- a/m05Q8/task.yaml +++ b/m05Q8/task.yaml @@ -13,7 +13,7 @@ context: |- * dans le tableau int[][] m par la valeur w. * Modifie la matrice m. */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05Q9/task.yaml b/m05Q9/task.yaml index 173168fb..73f35116 100644 --- a/m05Q9/task.yaml +++ b/m05Q9/task.yaml @@ -14,7 +14,7 @@ context: |- * d'une position vers la droite * et v[0] est mis à la valeur '*' (étoile) */ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05_bf/task.yaml b/m05_bf/task.yaml index 2ce97fa4..07bc7dc5 100644 --- a/m05_bf/task.yaml +++ b/m05_bf/task.yaml @@ -34,7 +34,7 @@ context: |- } N'oubliez pas d'éviter la duplication de code, et d'éventuellement réutiliser l'une des deux méthodes dans l'autre. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05dem1/task.yaml b/m05dem1/task.yaml index 35275789..8dd90220 100644 --- a/m05dem1/task.yaml +++ b/m05dem1/task.yaml @@ -5,7 +5,7 @@ contact_url: '' context: |- Répondez aux questions simples suivantes au sujet de la syntaxe des tableaux. Vous *devez* respecter les noms de variables suggérés. (Nous utilisons le type ``int`` pour les entiers et le type ``double`` pour les réels.) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05dem2/task.yaml b/m05dem2/task.yaml index 28fb33a3..7d2434a7 100644 --- a/m05dem2/task.yaml +++ b/m05dem2/task.yaml @@ -26,7 +26,7 @@ context: |- Il teste sa méthode sur les deux tableaux ci-dessus et conclut que sa méthode est correcte. Qu'en pensez-vous ? -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '20' diff --git a/m05dem3/task.yaml b/m05dem3/task.yaml index ac05f345..aa1929ea 100644 --- a/m05dem3/task.yaml +++ b/m05dem3/task.yaml @@ -15,7 +15,7 @@ context: |- * principale valent 1 et tous les autres valent 0 */ public static int[][] unite(int n) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05dem4/task.yaml b/m05dem4/task.yaml index 6c115f8d..f6fd43aa 100644 --- a/m05dem4/task.yaml +++ b/m05dem4/task.yaml @@ -13,7 +13,7 @@ context: | * @post retourne la matrice valant la somme des matrices a et b */ public static int[][] add(int[][] a, int[][] b) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05dem5/task.yaml b/m05dem5/task.yaml index 09c2ae02..5e4330d8 100644 --- a/m05dem5/task.yaml +++ b/m05dem5/task.yaml @@ -9,7 +9,7 @@ context: |+ public static void main(String[] args) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m05real/task.yaml b/m05real/task.yaml index c7b6d02e..9fc2a94d 100644 --- a/m05real/task.yaml +++ b/m05real/task.yaml @@ -16,7 +16,7 @@ context: | - TestContains.java - TestSubtract.java - README.txt -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q1/task.yaml b/m06Q1/task.yaml index 14722d99..4128b3e1 100644 --- a/m06Q1/task.yaml +++ b/m06Q1/task.yaml @@ -41,7 +41,7 @@ context: |- Ecrivez le constructeur de cette classe ``Date``. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q10/task.yaml b/m06Q10/task.yaml index 870924f9..0470a851 100644 --- a/m06Q10/task.yaml +++ b/m06Q10/task.yaml @@ -56,7 +56,7 @@ context: |- */ // A compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q11/task.yaml b/m06Q11/task.yaml index a3b05b4e..c07bc4ce 100644 --- a/m06Q11/task.yaml +++ b/m06Q11/task.yaml @@ -65,7 +65,7 @@ context: |- */ // A compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q2/task.yaml b/m06Q2/task.yaml index 9f68af13..bd527235 100644 --- a/m06Q2/task.yaml +++ b/m06Q2/task.yaml @@ -54,7 +54,7 @@ context: |- public int getAnnee(){ // a compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q3/task.yaml b/m06Q3/task.yaml index 1324dcc7..c3880f01 100644 --- a/m06Q3/task.yaml +++ b/m06Q3/task.yaml @@ -64,7 +64,7 @@ context: |- } // ... } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q4/task.yaml b/m06Q4/task.yaml index ec749e98..f9ee6494 100644 --- a/m06Q4/task.yaml +++ b/m06Q4/task.yaml @@ -78,7 +78,7 @@ context: |- // à compléter } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q5/task.yaml b/m06Q5/task.yaml index 467c9948..971663eb 100644 --- a/m06Q5/task.yaml +++ b/m06Q5/task.yaml @@ -43,7 +43,7 @@ context: |- } //... } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q6/task.yaml b/m06Q6/task.yaml index 6797868f..655a7e8e 100644 --- a/m06Q6/task.yaml +++ b/m06Q6/task.yaml @@ -48,7 +48,7 @@ context: |- //Code à compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q7/task.yaml b/m06Q7/task.yaml index 4b301b89..818dc264 100644 --- a/m06Q7/task.yaml +++ b/m06Q7/task.yaml @@ -31,7 +31,7 @@ context: |- */ //à compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q8/task.yaml b/m06Q8/task.yaml index 4751aad0..3c0c21a8 100644 --- a/m06Q8/task.yaml +++ b/m06Q8/task.yaml @@ -45,7 +45,7 @@ context: |- */ //A compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06Q9/task.yaml b/m06Q9/task.yaml index 71456739..2c12d5a5 100644 --- a/m06Q9/task.yaml +++ b/m06Q9/task.yaml @@ -48,7 +48,7 @@ context: |- */ // A compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06_bf/task.yaml b/m06_bf/task.yaml index 8385ef00..32e8b0ba 100644 --- a/m06_bf/task.yaml +++ b/m06_bf/task.yaml @@ -45,7 +45,7 @@ context: |- * (ex : un pourcentage de 100% double le salaire) */ public void augmente(float pourcentage); -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06dem1/task.yaml b/m06dem1/task.yaml index 29e2600f..3066f2d4 100644 --- a/m06dem1/task.yaml +++ b/m06dem1/task.yaml @@ -84,7 +84,7 @@ context: |+ q = p.opposite(); System.out.println(q.getA() + ", " + q.getB()); // affiche "-10, 2" -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06dem2/task.yaml b/m06dem2/task.yaml index 5e1f6d9d..6d243ebb 100644 --- a/m06dem2/task.yaml +++ b/m06dem2/task.yaml @@ -71,7 +71,7 @@ context: |- } Le but de l'exercice est d'implémenter les méthodes ``setA()`` et ``setB()`` sans oublier de mettre à jour ``ordered`` en fonction des nouvelles valeurs des nombres dans la paire. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06dem3/task.yaml b/m06dem3/task.yaml index 6e55ec51..e24c04ac 100644 --- a/m06dem3/task.yaml +++ b/m06dem3/task.yaml @@ -53,7 +53,7 @@ context: |- } Aidez cet étudiant en détresse et implémentez la méthode ``same`` dont les spécifications sont fournies ci-dessus. Pensez à gérer le cas où ``d == null``, car les préconditions ne font aucune supposition. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06dem4/task.yaml b/m06dem4/task.yaml index 57ba1893..423dbc88 100644 --- a/m06dem4/task.yaml +++ b/m06dem4/task.yaml @@ -20,7 +20,7 @@ context: |- } System.out.println("Le fichier a été lu entièrement."); } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m06real/task.yaml b/m06real/task.yaml index c113429a..bf8b8fa9 100644 --- a/m06real/task.yaml +++ b/m06real/task.yaml @@ -14,7 +14,7 @@ context: |- - Temps.java - Programme.java - README.txt -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q1/task.yaml b/m07Q1/task.yaml index fea0df29..afb39b9b 100644 --- a/m07Q1/task.yaml +++ b/m07Q1/task.yaml @@ -52,7 +52,7 @@ context: |- //A compléter } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q10/task.yaml b/m07Q10/task.yaml index a0ef31d9..5734dfe5 100644 --- a/m07Q10/task.yaml +++ b/m07Q10/task.yaml @@ -155,7 +155,7 @@ context: |+ } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q11/task.yaml b/m07Q11/task.yaml index 7cf1b7c9..445cf27b 100644 --- a/m07Q11/task.yaml +++ b/m07Q11/task.yaml @@ -152,7 +152,7 @@ context: |+ } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q2/task.yaml b/m07Q2/task.yaml index 360b87e2..342b0a58 100644 --- a/m07Q2/task.yaml +++ b/m07Q2/task.yaml @@ -53,7 +53,7 @@ context: |- // Non fourni } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q3/task.yaml b/m07Q3/task.yaml index 45aa44a4..05f9eca8 100644 --- a/m07Q3/task.yaml +++ b/m07Q3/task.yaml @@ -80,7 +80,7 @@ context: |- // A compléter } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q4/task.yaml b/m07Q4/task.yaml index a289aa8e..46edbd38 100644 --- a/m07Q4/task.yaml +++ b/m07Q4/task.yaml @@ -96,7 +96,7 @@ context: |- // Non fourni } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q5/task.yaml b/m07Q5/task.yaml index b2c24009..c5a1d0f0 100644 --- a/m07Q5/task.yaml +++ b/m07Q5/task.yaml @@ -97,7 +97,7 @@ context: |- // Non fourni } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q6/task.yaml b/m07Q6/task.yaml index 4761bd1b..2ad870d7 100644 --- a/m07Q6/task.yaml +++ b/m07Q6/task.yaml @@ -98,7 +98,7 @@ context: |- //Non fourni } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q7/task.yaml b/m07Q7/task.yaml index 91dcf0a4..838412ef 100644 --- a/m07Q7/task.yaml +++ b/m07Q7/task.yaml @@ -151,7 +151,7 @@ context: | /* Code non fourni */ } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q8/task.yaml b/m07Q8/task.yaml index 3bbf8bbe..a10795fe 100644 --- a/m07Q8/task.yaml +++ b/m07Q8/task.yaml @@ -152,7 +152,7 @@ context: |+ } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07Q9/task.yaml b/m07Q9/task.yaml index 6781c07c..57b9c6fc 100644 --- a/m07Q9/task.yaml +++ b/m07Q9/task.yaml @@ -152,7 +152,7 @@ context: |+ } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07_bf/task.yaml b/m07_bf/task.yaml index 2e6ec5bd..08287a9e 100644 --- a/m07_bf/task.yaml +++ b/m07_bf/task.yaml @@ -72,7 +72,7 @@ context: |- [100001] Radiohead, The Bends (2917 s) Remarquez que chaque ``Item`` possède un serial qui est un numéro de série unique propre à l’objet (pour pouvoir différencier plusieurs exemplaires du même livre par exemple). Il doit être généré automatiquement et être supérieur à 100000 pour un CD. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07dem1/task.yaml b/m07dem1/task.yaml index fdcb9ef6..58ab2a3e 100644 --- a/m07dem1/task.yaml +++ b/m07dem1/task.yaml @@ -29,7 +29,7 @@ context: |+ .. _Object: http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m07dem2/task.yaml b/m07dem2/task.yaml index fa48a6f1..99085e85 100644 --- a/m07dem2/task.yaml +++ b/m07dem2/task.yaml @@ -32,7 +32,7 @@ context: |4- return numero; } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q1/task.yaml b/m08Q1/task.yaml index d48f3352..2ec0b455 100644 --- a/m08Q1/task.yaml +++ b/m08Q1/task.yaml @@ -61,7 +61,7 @@ context: |- // Non fourni } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q2/task.yaml b/m08Q2/task.yaml index c560b69d..8e9ff057 100644 --- a/m08Q2/task.yaml +++ b/m08Q2/task.yaml @@ -61,7 +61,7 @@ context: |- // Non fourni } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q3/task.yaml b/m08Q3/task.yaml index 39bcca18..4940c5e5 100644 --- a/m08Q3/task.yaml +++ b/m08Q3/task.yaml @@ -59,7 +59,7 @@ context: |- // A compléter } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q4/task.yaml b/m08Q4/task.yaml index 121b81d7..a0280636 100644 --- a/m08Q4/task.yaml +++ b/m08Q4/task.yaml @@ -92,7 +92,7 @@ context: |- //A COMPLETER } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q5/task.yaml b/m08Q5/task.yaml index 97a85c63..3197ad22 100644 --- a/m08Q5/task.yaml +++ b/m08Q5/task.yaml @@ -105,7 +105,7 @@ context: |- //A compléter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q6/task.yaml b/m08Q6/task.yaml index e065453b..69fb8148 100644 --- a/m08Q6/task.yaml +++ b/m08Q6/task.yaml @@ -61,7 +61,7 @@ context: |- //A COMPLETER } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08Q7/task.yaml b/m08Q7/task.yaml index 83a94fb5..a521a654 100644 --- a/m08Q7/task.yaml +++ b/m08Q7/task.yaml @@ -61,7 +61,7 @@ context: |- //A COMPLETER } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08dem1/task.yaml b/m08dem1/task.yaml index 30f88233..40b91bed 100644 --- a/m08dem1/task.yaml +++ b/m08dem1/task.yaml @@ -83,7 +83,7 @@ context: | } Implémentez les deux alternatives de la méthode ``set()`` de la classe ``Drapeau`` en vous référant aux spécifications énoncées dans l'interface ``DrapeauIF``. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m08dem2/task.yaml b/m08dem2/task.yaml index a91df522..7aca0efd 100644 --- a/m08dem2/task.yaml +++ b/m08dem2/task.yaml @@ -15,7 +15,7 @@ context: |- public static String repeat(String s, int n){ // À implémenter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q1/task.yaml b/m09Q1/task.yaml index 472fe3f3..5dd2537e 100644 --- a/m09Q1/task.yaml +++ b/m09Q1/task.yaml @@ -39,7 +39,7 @@ context: |- // Insérez le code manquant } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q2/task.yaml b/m09Q2/task.yaml index ee9dd933..6a6d8f8c 100644 --- a/m09Q2/task.yaml +++ b/m09Q2/task.yaml @@ -88,7 +88,7 @@ context: |- } Pour rappel, la documentation de l'interface Comparable est disponible via https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q3/task.yaml b/m09Q3/task.yaml index e60d11fb..a915d401 100644 --- a/m09Q3/task.yaml +++ b/m09Q3/task.yaml @@ -16,7 +16,7 @@ context: |- public int countLines(String fileName); Pour lire le fichier, nous vous demandons d'utilisez un ``BufferedReader``. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q4/task.yaml b/m09Q4/task.yaml index 54d51b70..3683ae3f 100644 --- a/m09Q4/task.yaml +++ b/m09Q4/task.yaml @@ -16,7 +16,7 @@ context: |- public boolean contains(String s, String fileName) On vous demande d'utiliser un ``BufferedReader`` pour lire le fichier -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q5/task.yaml b/m09Q5/task.yaml index adb12f0d..2c78b03c 100644 --- a/m09Q5/task.yaml +++ b/m09Q5/task.yaml @@ -15,7 +15,7 @@ context: | public static boolean accessible(String fileName) On vous demande d'utiliser un ``BufferedReader`` si vous devez lire le fichier. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q6/task.yaml b/m09Q6/task.yaml index 3752be95..a1284adc 100644 --- a/m09Q6/task.yaml +++ b/m09Q6/task.yaml @@ -15,7 +15,7 @@ context: | * lignes suivantes : un élément par ligne en commençant par v[0] ... */ public void saveVector(int [] v, String fileName) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09Q7/task.yaml b/m09Q7/task.yaml index 1dc802cf..72cda700 100644 --- a/m09Q7/task.yaml +++ b/m09Q7/task.yaml @@ -20,7 +20,7 @@ context: | public int[] readVector(String fileName) Pour lire le fichier, nous vous demandons d'utiliser un ``BufferedReader``. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09_bf/task.yaml b/m09_bf/task.yaml index a88f9767..7795f1ec 100644 --- a/m09_bf/task.yaml +++ b/m09_bf/task.yaml @@ -27,7 +27,7 @@ context: | * 3.1416 */ public static double getMax (String filename) -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09dem1/task.yaml b/m09dem1/task.yaml index 5822841a..7bf88331 100644 --- a/m09dem1/task.yaml +++ b/m09dem1/task.yaml @@ -28,7 +28,7 @@ context: |- ? Écrivez le corps de cette nouvelle méthode qui prend un argument de type ``Object`` au lieu d'un argument de type ``Integer``. Écrivez la réponse en une seule ligne. Notez que l'argument ``o`` sera toujours du type ``Integer``. Pensez à utiliser des méthodes qui sont déjà à votre disposition. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09dem2/task.yaml b/m09dem2/task.yaml index 2b51985d..2535dbd7 100644 --- a/m09dem2/task.yaml +++ b/m09dem2/task.yaml @@ -47,7 +47,7 @@ context: |- public static int premierPrenom(String filename){ // À implémenter } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m09real/task.yaml b/m09real/task.yaml index 0b553ce7..6d7f8ed4 100644 --- a/m09real/task.yaml +++ b/m09real/task.yaml @@ -11,7 +11,7 @@ context: |- - Dictionary.java - Word.java - README.txt -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10Q1/task.yaml b/m10Q1/task.yaml index d84ff454..5f2ca8b7 100644 --- a/m10Q1/task.yaml +++ b/m10Q1/task.yaml @@ -40,7 +40,7 @@ context: |- } Tel qu'il est écrit, ce code ne compile pas. Il manque une méthode. Pourriez-vous l'ajouter (signature et corps) ? -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10Q2/task.yaml b/m10Q2/task.yaml index 1d69286e..f5fdc833 100644 --- a/m10Q2/task.yaml +++ b/m10Q2/task.yaml @@ -47,7 +47,7 @@ context: |- return this.num; } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10Q3/task.yaml b/m10Q3/task.yaml index 66381c0b..02fc0f32 100644 --- a/m10Q3/task.yaml +++ b/m10Q3/task.yaml @@ -44,7 +44,7 @@ context: |- // Question } } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10Q4/task.yaml b/m10Q4/task.yaml index 31880559..c2910774 100644 --- a/m10Q4/task.yaml +++ b/m10Q4/task.yaml @@ -85,7 +85,7 @@ context: |- } Vous pouvez tester vos méthodes individuellement. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10Q5/task.yaml b/m10Q5/task.yaml index 9b3bd274..af52b0d9 100644 --- a/m10Q5/task.yaml +++ b/m10Q5/task.yaml @@ -36,7 +36,7 @@ context: |- On vous demande d'utiliser ``BufferedReader`` pour répondre à cette question. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10Q6/task.yaml b/m10Q6/task.yaml index 262dd31b..58f55242 100644 --- a/m10Q6/task.yaml +++ b/m10Q6/task.yaml @@ -34,7 +34,7 @@ context: |- On vous demande d'utiliser ``BufferedReader`` pour répondre à cette question. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10dem1/task.yaml b/m10dem1/task.yaml index 0cd5ff8e..c5ff0b51 100644 --- a/m10dem1/task.yaml +++ b/m10dem1/task.yaml @@ -77,7 +77,7 @@ context: |- .. code-block:: console La chaîne de caractères passée à parseInt() ne contient pas que des chiffres. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10dem2/task.yaml b/m10dem2/task.yaml index eebf4134..dc77463c 100644 --- a/m10dem2/task.yaml +++ b/m10dem2/task.yaml @@ -18,7 +18,7 @@ context: |- public static int write(int n, String filename) Faites bien attention à gérer les erreurs d'I/O. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m10real/task.yaml b/m10real/task.yaml index 6fea0419..5ffd18dd 100644 --- a/m10real/task.yaml +++ b/m10real/task.yaml @@ -6,7 +6,7 @@ context: |- Vous soumettrez votre soumission de la phase de réalisation de la Mission 10 soit ici, soit directement via BlueJ. Veuillez soumettre une archive **zip** contenant uniquement les fichiers **.java** utilisés pour votre mission, ainsi qu'un fichier nommé "README.TXT". -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m11Q1/task.yaml b/m11Q1/task.yaml index 9bbc001e..cc1ac49b 100644 --- a/m11Q1/task.yaml +++ b/m11Q1/task.yaml @@ -68,7 +68,7 @@ context: |- } Complétez cette classe. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m11Q2/task.yaml b/m11Q2/task.yaml index a44e9208..24b24ad2 100644 --- a/m11Q2/task.yaml +++ b/m11Q2/task.yaml @@ -66,7 +66,7 @@ context: |- } Complétez cette classe. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m11Q3/task.yaml b/m11Q3/task.yaml index 4153bb22..93f24fc6 100644 --- a/m11Q3/task.yaml +++ b/m11Q3/task.yaml @@ -64,7 +64,7 @@ context: |- } Complétez cette classe. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m11Q4/task.yaml b/m11Q4/task.yaml index f7a6ff17..3988956b 100644 --- a/m11Q4/task.yaml +++ b/m11Q4/task.yaml @@ -61,7 +61,7 @@ context: |- } Complétez cette classe. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m11Q5/task.yaml b/m11Q5/task.yaml index 2fae0cb8..d12a76c6 100644 --- a/m11Q5/task.yaml +++ b/m11Q5/task.yaml @@ -64,7 +64,7 @@ context: |- Complétez cette classe. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '10' diff --git a/m11Q6/task.yaml b/m11Q6/task.yaml index 8f7662bf..f76e0e82 100644 --- a/m11Q6/task.yaml +++ b/m11Q6/task.yaml @@ -69,7 +69,7 @@ context: |- } Complétez cette classe. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m11dem13/task.yaml b/m11dem13/task.yaml index 89651a01..47d92fb7 100644 --- a/m11dem13/task.yaml +++ b/m11dem13/task.yaml @@ -6,7 +6,7 @@ context: |- A la suite de l'écriture de la classe ``DListTest`` faite aux questions précédentes, vous avez réussi à découvrir à l'aide de JUnit l'erreur contenue dans la classe testée. Soumettez pour finir une version corrigée de cette classe ``DList``. **Attention, vous devez soumettre la classe DList entière avec exactement les mêmes attributs et les mêmes méthodes. Seul le corps des méthodes et les valeurs des attributs peuvent être différents.** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q1_online/task.yaml b/m12_examj2011q1_online/task.yaml index 93ba2758..8c2f7b55 100644 --- a/m12_examj2011q1_online/task.yaml +++ b/m12_examj2011q1_online/task.yaml @@ -23,7 +23,7 @@ context: |- { /*** VOTRE REPONSE ***/ } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q2_online/task.yaml b/m12_examj2011q2_online/task.yaml index f7fe3337..473555fc 100644 --- a/m12_examj2011q2_online/task.yaml +++ b/m12_examj2011q2_online/task.yaml @@ -22,7 +22,7 @@ context: | */ /*** VOTRE REPONSE ***/ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q3_online/task.yaml b/m12_examj2011q3_online/task.yaml index 248d6ffc..6bc6bd87 100644 --- a/m12_examj2011q3_online/task.yaml +++ b/m12_examj2011q3_online/task.yaml @@ -31,7 +31,7 @@ context: |- { /*** VOTRE REPONSE ***/ } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q4_online/task.yaml b/m12_examj2011q4_online/task.yaml index 2fd228c9..a8d4ad7c 100644 --- a/m12_examj2011q4_online/task.yaml +++ b/m12_examj2011q4_online/task.yaml @@ -24,7 +24,7 @@ context: |- { /*** VOTRE REPONSE ***/ } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q5_online/task.yaml b/m12_examj2011q5_online/task.yaml index 9a5d15fd..b14ee303 100644 --- a/m12_examj2011q5_online/task.yaml +++ b/m12_examj2011q5_online/task.yaml @@ -26,7 +26,7 @@ context: |- public void addProcess(Process p) throws UnavailableException { /*** VOTRE REPONSE ***/ } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q6_online/task.yaml b/m12_examj2011q6_online/task.yaml index 7dc4c1db..b26a1468 100644 --- a/m12_examj2011q6_online/task.yaml +++ b/m12_examj2011q6_online/task.yaml @@ -23,7 +23,7 @@ context: |- */ /*** VOTRE REPONSE ***/ -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q7_online/task.yaml b/m12_examj2011q7_online/task.yaml index 079707a9..62250e1b 100644 --- a/m12_examj2011q7_online/task.yaml +++ b/m12_examj2011q7_online/task.yaml @@ -24,7 +24,7 @@ context: |- public void loadState(String fileName){ /*** VOTRE REPONSE ***/ } -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q1/task.yaml b/mX12_examj2011q1/task.yaml index 63b10c85..d3cd8e12 100644 --- a/mX12_examj2011q1/task.yaml +++ b/mX12_examj2011q1/task.yaml @@ -28,7 +28,7 @@ context: |- **Vu que l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q2/task.yaml b/mX12_examj2011q2/task.yaml index 2e89fdea..827d9aac 100644 --- a/mX12_examj2011q2/task.yaml +++ b/mX12_examj2011q2/task.yaml @@ -27,7 +27,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q3/task.yaml b/mX12_examj2011q3/task.yaml index 86074b9c..e0e9f5db 100644 --- a/mX12_examj2011q3/task.yaml +++ b/mX12_examj2011q3/task.yaml @@ -30,7 +30,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q4/task.yaml b/mX12_examj2011q4/task.yaml index 0cb13287..1622b733 100644 --- a/mX12_examj2011q4/task.yaml +++ b/mX12_examj2011q4/task.yaml @@ -30,7 +30,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q5/task.yaml b/mX12_examj2011q5/task.yaml index 7c31ad54..023dd4b4 100644 --- a/mX12_examj2011q5/task.yaml +++ b/mX12_examj2011q5/task.yaml @@ -32,7 +32,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q6/task.yaml b/mX12_examj2011q6/task.yaml index 1b368a44..de25e8fc 100644 --- a/mX12_examj2011q6/task.yaml +++ b/mX12_examj2011q6/task.yaml @@ -28,7 +28,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q7/task.yaml b/mX12_examj2011q7/task.yaml index 3c53443d..9bd21140 100644 --- a/mX12_examj2011q7/task.yaml +++ b/mX12_examj2011q7/task.yaml @@ -32,7 +32,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX1Q19/task.yaml b/mX1Q19/task.yaml index 03b7b94e..42d68f87 100644 --- a/mX1Q19/task.yaml +++ b/mX1Q19/task.yaml @@ -4,7 +4,7 @@ categories: [] contact_url: '' context: 'Créer un programme permettant de calculer des fonctions mathématiques. Vous ne pouvez pas utiliser les fonctions mathématiques natives de Java. ' -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX2Q2/task.yaml b/mX2Q2/task.yaml index 35032e75..35b8af2e 100644 --- a/mX2Q2/task.yaml +++ b/mX2Q2/task.yaml @@ -12,7 +12,7 @@ context: |- int reste = 0; int quotient = 0; -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX2ec2/task.yaml b/mX2ec2/task.yaml index a351b7ef..17d58a52 100644 --- a/mX2ec2/task.yaml +++ b/mX2ec2/task.yaml @@ -25,7 +25,7 @@ context: | System.out.print("Entrez la valeur du coefficient c :"); double c=TextIO.getlnDouble(); -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX3Q8/task.yaml b/mX3Q8/task.yaml index 17d9450f..fc577c24 100644 --- a/mX3Q8/task.yaml +++ b/mX3Q8/task.yaml @@ -6,7 +6,7 @@ context: |- Ecrivez la méthode permettant de calculer le nombre de racine d'une équation du second degré On passe a,b et c en paramètre de votre méthode. La méthode s'appelle eqsecdeg1 pour la première partie et eqsecdeg2 pour la seconde. -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' diff --git a/mX3Q9/task.yaml b/mX3Q9/task.yaml index 031eddeb..7697c33f 100644 --- a/mX3Q9/task.yaml +++ b/mX3Q9/task.yaml @@ -6,7 +6,7 @@ context: |- Ecrivez la méthode permettant de calculer la valeur d'une équation du second degré On passe a,b et c en paramètre de votre méthode. La méthode s'appelle eqsecdegsol1 pour la première partie et eqsecdegsol2 pour la seconde On vous donne accès à eqsecdeg2 permettant de connaître le nombre de solutions . Pour la deuxième version s'il y a plus qu'une solution, vous renvoyez -1 -environment_id: java8 +environment_id: javajudge environment_parameters: limits: time: '30' From 3e1086ad121ea19f8fc8b72d00e363e26b70c1dc Mon Sep 17 00:00:00 2001 From: anaHue Date: Mon, 14 Mar 2022 14:59:35 +0100 Subject: [PATCH 07/10] add - java8judge as environnement --- 105_java/task.yaml | 2 +- 106_java/task.yaml | 2 +- 108_java/task.yaml | 2 +- 111_java/task.yaml | 2 +- 112_java/task.yaml | 2 +- 14_java/task.yaml | 2 +- 85_java/task.yaml | 2 +- 87_java/task.yaml | 2 +- 88_java/task.yaml | 2 +- m01Q10/task.yaml | 2 +- m01Q11/task.yaml | 2 +- m01Q12/task.yaml | 2 +- m01Q13/task.yaml | 2 +- m01Q14/task.yaml | 2 +- m01Q15/task.yaml | 2 +- m01Q16/task.yaml | 2 +- m01Q17/task.yaml | 2 +- m01Q2/task.yaml | 2 +- m01Q20/task.yaml | 2 +- m01Q3/task.yaml | 2 +- m01Q4/task.yaml | 2 +- m01Q5/task.yaml | 2 +- m01Q6/task.yaml | 2 +- m01Q7/task.yaml | 2 +- m01Q8/task.yaml | 2 +- m01Q9/task.yaml | 2 +- m01_bf/task.yaml | 2 +- m02Q1/task.yaml | 2 +- m02Q10/task.yaml | 2 +- m02Q3/task.yaml | 2 +- m02Q4/task.yaml | 2 +- m02Q5/task.yaml | 2 +- m02Q6/task.yaml | 2 +- m02Q7/task.yaml | 2 +- m02Q8/task.yaml | 2 +- m02Q9/task.yaml | 2 +- m02_bf/task.yaml | 2 +- m02dem2/task.yaml | 2 +- m02dem3/task.yaml | 2 +- m02dem4/task.yaml | 2 +- m02dem5/task.yaml | 2 +- m02real/task.yaml | 2 +- m03Q1/task.yaml | 2 +- m03Q2/task.yaml | 2 +- m03Q3/task.yaml | 2 +- m03Q4/task.yaml | 2 +- m03Q5/task.yaml | 2 +- m03Q6/task.yaml | 2 +- m03Q7/task.yaml | 2 +- m03_bf/task.yaml | 2 +- m03dem2/task.yaml | 2 +- m03dem3/task.yaml | 2 +- m03dem4/task.yaml | 2 +- m03dem5/task.yaml | 2 +- m03real1/task.yaml | 2 +- m04Q1/task.yaml | 2 +- m04Q10/task.yaml | 2 +- m04Q11/task.yaml | 2 +- m04Q2/task.yaml | 2 +- m04Q3/task.yaml | 2 +- m04Q4/task.yaml | 2 +- m04Q5/task.yaml | 2 +- m04Q6/task.yaml | 2 +- m04Q7/task.yaml | 2 +- m04Q8/task.yaml | 2 +- m04Q9/task.yaml | 2 +- m04_bf/task.yaml | 2 +- m04dem1/task.yaml | 2 +- m04dem2/task.yaml | 2 +- m04dem3/task.yaml | 2 +- m04dem4/task.yaml | 2 +- m04dem5/task.yaml | 2 +- m04real/task.yaml | 2 +- m05Q1/task.yaml | 2 +- m05Q10/task.yaml | 2 +- m05Q11/task.yaml | 2 +- m05Q12/task.yaml | 2 +- m05Q2/task.yaml | 2 +- m05Q3/task.yaml | 2 +- m05Q4/task.yaml | 2 +- m05Q5/task.yaml | 2 +- m05Q6/task.yaml | 2 +- m05Q7/task.yaml | 2 +- m05Q8/task.yaml | 2 +- m05Q9/task.yaml | 2 +- m05_bf/task.yaml | 2 +- m05dem1/task.yaml | 2 +- m05dem2/task.yaml | 2 +- m05dem3/task.yaml | 2 +- m05dem4/task.yaml | 2 +- m05dem5/task.yaml | 2 +- m05real/task.yaml | 2 +- m06Q1/task.yaml | 2 +- m06Q10/task.yaml | 2 +- m06Q11/task.yaml | 2 +- m06Q2/task.yaml | 2 +- m06Q3/task.yaml | 2 +- m06Q4/task.yaml | 2 +- m06Q5/task.yaml | 2 +- m06Q6/task.yaml | 2 +- m06Q7/task.yaml | 2 +- m06Q8/task.yaml | 2 +- m06Q9/task.yaml | 2 +- m06_bf/task.yaml | 2 +- m06dem1/task.yaml | 2 +- m06dem2/task.yaml | 2 +- m06dem3/task.yaml | 2 +- m06dem4/task.yaml | 2 +- m06real/task.yaml | 2 +- m07Q1/task.yaml | 2 +- m07Q10/task.yaml | 2 +- m07Q11/task.yaml | 2 +- m07Q2/task.yaml | 2 +- m07Q3/task.yaml | 2 +- m07Q4/task.yaml | 2 +- m07Q5/task.yaml | 2 +- m07Q6/task.yaml | 2 +- m07Q7/task.yaml | 2 +- m07Q8/task.yaml | 2 +- m07Q9/task.yaml | 2 +- m07_bf/task.yaml | 2 +- m07dem1/task.yaml | 2 +- m07dem2/task.yaml | 2 +- m08Q1/task.yaml | 2 +- m08Q2/task.yaml | 2 +- m08Q3/task.yaml | 2 +- m08Q4/task.yaml | 2 +- m08Q5/task.yaml | 2 +- m08Q6/task.yaml | 2 +- m08Q7/task.yaml | 2 +- m08dem1/task.yaml | 2 +- m08dem2/task.yaml | 2 +- m09Q1/task.yaml | 2 +- m09Q2/task.yaml | 2 +- m09Q3/task.yaml | 2 +- m09Q4/task.yaml | 2 +- m09Q5/task.yaml | 2 +- m09Q6/task.yaml | 2 +- m09Q7/task.yaml | 2 +- m09_bf/task.yaml | 2 +- m09dem1/task.yaml | 2 +- m09dem2/task.yaml | 2 +- m09real/task.yaml | 2 +- m10Q1/task.yaml | 2 +- m10Q2/task.yaml | 2 +- m10Q3/task.yaml | 2 +- m10Q4/task.yaml | 2 +- m10Q5/task.yaml | 2 +- m10Q6/task.yaml | 2 +- m10dem1/task.yaml | 2 +- m10dem2/task.yaml | 2 +- m10real/task.yaml | 2 +- m11Q1/task.yaml | 2 +- m11Q2/task.yaml | 2 +- m11Q3/task.yaml | 2 +- m11Q4/task.yaml | 2 +- m11Q5/task.yaml | 2 +- m11Q6/task.yaml | 2 +- m11dem13/task.yaml | 2 +- m12_examj2011q1_online/task.yaml | 2 +- m12_examj2011q2_online/task.yaml | 2 +- m12_examj2011q3_online/task.yaml | 2 +- m12_examj2011q4_online/task.yaml | 2 +- m12_examj2011q5_online/task.yaml | 2 +- m12_examj2011q6_online/task.yaml | 2 +- m12_examj2011q7_online/task.yaml | 2 +- mX12_examj2011q1/task.yaml | 2 +- mX12_examj2011q2/task.yaml | 2 +- mX12_examj2011q3/task.yaml | 2 +- mX12_examj2011q4/task.yaml | 2 +- mX12_examj2011q5/task.yaml | 2 +- mX12_examj2011q6/task.yaml | 2 +- mX12_examj2011q7/task.yaml | 2 +- mX1Q19/task.yaml | 2 +- mX2Q2/task.yaml | 2 +- mX2ec2/task.yaml | 2 +- mX3Q8/task.yaml | 2 +- mX3Q9/task.yaml | 2 +- 178 files changed, 178 insertions(+), 178 deletions(-) diff --git a/105_java/task.yaml b/105_java/task.yaml index 95ce97ee..f298fb0a 100644 --- a/105_java/task.yaml +++ b/105_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez les champs ci-dessous conformément à l'énoncé de la phase de réalisation de la mission 7.

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/106_java/task.yaml b/106_java/task.yaml index b2b1219c..ebc37c73 100644 --- a/106_java/task.yaml +++ b/106_java/task.yaml @@ -45,7 +45,7 @@ context: |+ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/108_java/task.yaml b/108_java/task.yaml index beb131a2..aacbbbc6 100644 --- a/108_java/task.yaml +++ b/108_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez les champs ci-dessous conformément à l'énoncé de la phase de réalisation de la mission 9.

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/111_java/task.yaml b/111_java/task.yaml index 85f36957..1f926856 100644 --- a/111_java/task.yaml +++ b/111_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez les champs ci-dessous conformément à l'énoncé de la phase de réalisation de la mission 3.

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/112_java/task.yaml b/112_java/task.yaml index 7a09d682..77bb0cd0 100644 --- a/112_java/task.yaml +++ b/112_java/task.yaml @@ -9,7 +9,7 @@ context: |+ Complétez la classe BioInfo conformément à l'énoncé de la phase de réalisation de la mission 4.

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/14_java/task.yaml b/14_java/task.yaml index bdce1224..2359f805 100644 --- a/14_java/task.yaml +++ b/14_java/task.yaml @@ -50,7 +50,7 @@ context: |+ } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/85_java/task.yaml b/85_java/task.yaml index cd10e8ab..ec31590d 100644 --- a/85_java/task.yaml +++ b/85_java/task.yaml @@ -15,7 +15,7 @@ context: |+ Par exemple, le nombre d'entiers positifs compris entre -1 et 2, bornes non incluses, sera égal à 2.

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/87_java/task.yaml b/87_java/task.yaml index 7e78ca70..9133193b 100644 --- a/87_java/task.yaml +++ b/87_java/task.yaml @@ -40,7 +40,7 @@ context: |+ Pour résoudre ce problème, pensez à la découper en sous-problèmes et n’hésitez pas à utiliser une ou plusieurs méthodes privées supplémentaires.

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/88_java/task.yaml b/88_java/task.yaml index 1d71246c..a926da94 100644 --- a/88_java/task.yaml +++ b/88_java/task.yaml @@ -12,7 +12,7 @@ context: |+ Vous devez définir la méthode countDistinctInt qui compte le nombre d'entiers uniques parmi les cinq paramètres a, b, c, d et e

-environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q10/task.yaml b/m01Q10/task.yaml index 54ada12c..393ea0bb 100644 --- a/m01Q10/task.yaml +++ b/m01Q10/task.yaml @@ -11,7 +11,7 @@ context: |- int a; int b; int c; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q11/task.yaml b/m01Q11/task.yaml index cce79f23..008340d0 100644 --- a/m01Q11/task.yaml +++ b/m01Q11/task.yaml @@ -12,7 +12,7 @@ context: |- double a; double b; double c; -environment_id: javajudgejudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q12/task.yaml b/m01Q12/task.yaml index dea784d6..ce6588f8 100644 --- a/m01Q12/task.yaml +++ b/m01Q12/task.yaml @@ -11,7 +11,7 @@ context: |- int b; int c; int maximum; // le plus grand parmi a, b, c -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q13/task.yaml b/m01Q13/task.yaml index 82b04927..94bcb7a8 100644 --- a/m01Q13/task.yaml +++ b/m01Q13/task.yaml @@ -13,7 +13,7 @@ context: |- int c; int d; int min; // le plus petit parmi a, b, c, d -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q14/task.yaml b/m01Q14/task.yaml index b7b623be..4b3efb98 100644 --- a/m01Q14/task.yaml +++ b/m01Q14/task.yaml @@ -13,7 +13,7 @@ context: |- int a; int b; int c; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q15/task.yaml b/m01Q15/task.yaml index 4b17d2cd..611f1357 100644 --- a/m01Q15/task.yaml +++ b/m01Q15/task.yaml @@ -15,7 +15,7 @@ context: |- int jour; // le jour int mois; // le mois String saison; // le nom de la saison (automne, hiver, printemps, été) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q16/task.yaml b/m01Q16/task.yaml index 2fafeade..37435634 100644 --- a/m01Q16/task.yaml +++ b/m01Q16/task.yaml @@ -13,7 +13,7 @@ context: |- int minute; // le nombre de minutes int seconde; // le nombre de secondes int total = 0; // le nombre de secondes depuis minuit -environment_id: javajudgejudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q17/task.yaml b/m01Q17/task.yaml index 02968ed9..4d190668 100644 --- a/m01Q17/task.yaml +++ b/m01Q17/task.yaml @@ -13,7 +13,7 @@ context: |- int annee; // l'année à vérifier boolean resultat; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q2/task.yaml b/m01Q2/task.yaml index 721bed6c..cdd9f5a9 100644 --- a/m01Q2/task.yaml +++ b/m01Q2/task.yaml @@ -24,7 +24,7 @@ context: |+ double vitesseVehicule = // valeur réelle positive double amende = 0; // modifié par votre programme et renvoie la valeur de l'amende -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q20/task.yaml b/m01Q20/task.yaml index 4695a1a3..d34aebcd 100644 --- a/m01Q20/task.yaml +++ b/m01Q20/task.yaml @@ -13,7 +13,7 @@ context: |- char carac; // le caractère à vérifier String retour; // chiffre, voyelle ou consonne -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q3/task.yaml b/m01Q3/task.yaml index d22d6a75..2d29ec68 100644 --- a/m01Q3/task.yaml +++ b/m01Q3/task.yaml @@ -19,7 +19,7 @@ context: |+ int poids; // poids d'une personne en kg String etat; // état de la personne (mince, normal, embonpoint, obèse) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q4/task.yaml b/m01Q4/task.yaml index 20fd3c74..3d7bcb4b 100644 --- a/m01Q4/task.yaml +++ b/m01Q4/task.yaml @@ -20,7 +20,7 @@ context: |- - Si ``sectionEntree`` vaut 3 et ``sectionSortie`` vaut 5, la voiture a parcouru 3 sections (les section 3, 4 et 5), donc le prix est 2.0€ (1€ + 0.5€ + 0.5€). - Si ``sectionEntree`` vaut 2 et ``sectionSortie`` vaut 2, la voiture a parcouru 1 section (la section 2), donc le prix est 1€. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q5/task.yaml b/m01Q5/task.yaml index 30456f45..ac2f26cd 100644 --- a/m01Q5/task.yaml +++ b/m01Q5/task.yaml @@ -18,7 +18,7 @@ context: | boolean a; boolean b; boolean xor; // placer dans cette variable votre résultat -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q6/task.yaml b/m01Q6/task.yaml index 15c87fe5..68380460 100644 --- a/m01Q6/task.yaml +++ b/m01Q6/task.yaml @@ -19,7 +19,7 @@ context: |+ int i = // le nombre à vérifier (i >= 1) String temp = "" // fizz, buzz, fizzbuzz, non -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q7/task.yaml b/m01Q7/task.yaml index 50674ca4..fbba0c0d 100644 --- a/m01Q7/task.yaml +++ b/m01Q7/task.yaml @@ -16,7 +16,7 @@ context: |+ int n = // n peut prendre n'importe quelle valeur supérieure à zéro int sum = 0; // sum est la variable dans laquelle vous devez écrire le résultat final -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q8/task.yaml b/m01Q8/task.yaml index 8c8df6a7..6788e141 100644 --- a/m01Q8/task.yaml +++ b/m01Q8/task.yaml @@ -16,7 +16,7 @@ context: |+ int a, int b, int c; // Les valeurs entières à comparer int mediane; // La médiane à déterminer -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01Q9/task.yaml b/m01Q9/task.yaml index 72eb95a0..919818e6 100644 --- a/m01Q9/task.yaml +++ b/m01Q9/task.yaml @@ -11,7 +11,7 @@ context: |- int x; // la valeur à vérifier int a; // borne inférieure de l'intervalle int b; // borne supérieure de l'intervalle -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m01_bf/task.yaml b/m01_bf/task.yaml index 7868b36f..e9a8408f 100644 --- a/m01_bf/task.yaml +++ b/m01_bf/task.yaml @@ -19,7 +19,7 @@ context: |- Afin d'aider les mathématiciens à éventuellement trouver un contre-exemple, écrivez un programme Java qui permet de calculer la suite de Syracuse pour n’importe quel naturel non-nul :math:`s_0`. Le programme s'arrête bien entendu lorsque le naturel 1 est atteint. Vous devez afficher chaque élément de la suite sur la sortie standard, avec ``System.out.println()``. La valeur de départ vous est déjà fournie et se trouve dans une variable de type ``int`` nommée ``s0``. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q1/task.yaml b/m02Q1/task.yaml index 17f56dc9..0502c23c 100644 --- a/m02Q1/task.yaml +++ b/m02Q1/task.yaml @@ -12,7 +12,7 @@ context: |- int a; //a un entier strictement positif int b; //b un entier strictement positif int reste; // le reste de la division entière. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q10/task.yaml b/m02Q10/task.yaml index 5935507a..8850be77 100644 --- a/m02Q10/task.yaml +++ b/m02Q10/task.yaml @@ -10,7 +10,7 @@ context: | int a; // l'entier a int resultat = 0; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q3/task.yaml b/m02Q3/task.yaml index f97bf2cb..e0c19869 100644 --- a/m02Q3/task.yaml +++ b/m02Q3/task.yaml @@ -20,7 +20,7 @@ context: |- .. code-block:: java int cote = // la longueur du cote -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q4/task.yaml b/m02Q4/task.yaml index 1c12cc1e..5ccb7e99 100644 --- a/m02Q4/task.yaml +++ b/m02Q4/task.yaml @@ -21,7 +21,7 @@ context: |+ int hauteur; // la hauteur du H int largeur; // la largeur du H -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q5/task.yaml b/m02Q5/task.yaml index 2585cf04..d7197034 100644 --- a/m02Q5/task.yaml +++ b/m02Q5/task.yaml @@ -20,7 +20,7 @@ context: | int hauteur; // la hauteur du X NB: Même un retour à la ligne est un caractère de trop! -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q6/task.yaml b/m02Q6/task.yaml index 8c209d7d..fa04ab24 100644 --- a/m02Q6/task.yaml +++ b/m02Q6/task.yaml @@ -21,7 +21,7 @@ context: |- .. code-block:: java int hauteur; // la hauteur du S -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q7/task.yaml b/m02Q7/task.yaml index 803470df..d585e376 100644 --- a/m02Q7/task.yaml +++ b/m02Q7/task.yaml @@ -11,7 +11,7 @@ context: | double y; // le pourcentage double base; // l'argent sur le compte sans les intérêts double resultat; // le resultat du calcul -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q8/task.yaml b/m02Q8/task.yaml index 9fb39d69..30a1cc22 100644 --- a/m02Q8/task.yaml +++ b/m02Q8/task.yaml @@ -13,7 +13,7 @@ context: | int resultat = 0; Tip : faites attention à la valeur de la variable resultat ! -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02Q9/task.yaml b/m02Q9/task.yaml index d0396ea7..64355727 100644 --- a/m02Q9/task.yaml +++ b/m02Q9/task.yaml @@ -11,7 +11,7 @@ context: | int a; // l'entier a int b; // l'entier b int resultat = 0; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02_bf/task.yaml b/m02_bf/task.yaml index c4184acb..08a05669 100644 --- a/m02_bf/task.yaml +++ b/m02_bf/task.yaml @@ -20,7 +20,7 @@ context: |- 7:1 Votre programme doit afficher son résultat exactement comme présenté dans l'exemple ci-dessus. Vous ne devez pas déclarer, ni initialiser la variable de type ``int`` nommée ``n``, elle vous sera fournie. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02dem2/task.yaml b/m02dem2/task.yaml index 369159a0..64b94273 100644 --- a/m02dem2/task.yaml +++ b/m02dem2/task.yaml @@ -9,7 +9,7 @@ context: |- int n = // n peut prendre n'importe quelle valeur int sum = 0; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02dem3/task.yaml b/m02dem3/task.yaml index 9a8e957d..411b0745 100644 --- a/m02dem3/task.yaml +++ b/m02dem3/task.yaml @@ -15,7 +15,7 @@ context: |+ int a = // a peut prendre n'importe quelle valeur int valeur = 1; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02dem4/task.yaml b/m02dem4/task.yaml index 4528b703..a131d59b 100644 --- a/m02dem4/task.yaml +++ b/m02dem4/task.yaml @@ -11,7 +11,7 @@ context: | int n = // n est plus grand ou égal à 0 int biggest = 0; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02dem5/task.yaml b/m02dem5/task.yaml index 463e3189..04682b27 100644 --- a/m02dem5/task.yaml +++ b/m02dem5/task.yaml @@ -9,7 +9,7 @@ context: | int n = // n est plus grand ou égal à zéro boolean prime = true; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m02real/task.yaml b/m02real/task.yaml index 4a501e81..69c67332 100644 --- a/m02real/task.yaml +++ b/m02real/task.yaml @@ -11,7 +11,7 @@ context: |- - EquationSimple.java - TextIO.java - README.txt -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q1/task.yaml b/m03Q1/task.yaml index a9d0d141..1d46261c 100644 --- a/m03Q1/task.yaml +++ b/m03Q1/task.yaml @@ -18,7 +18,7 @@ context: |+ Votre méthode devra s'appeler ``intervalle`` et prendra comme premier argument ``a``, la borne inférieure de l'intervalle, comme deuxième argument, ``b``, la borne supérieure et comme dernier argument la valeur à tester. Ces trois arguments sont des entiers. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q2/task.yaml b/m03Q2/task.yaml index 3ab3f95e..767f56f9 100644 --- a/m03Q2/task.yaml +++ b/m03Q2/task.yaml @@ -13,7 +13,7 @@ context: | * @post retourne la surface du rectangle dont les * largeur et longueur sont données. */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q3/task.yaml b/m03Q3/task.yaml index 91e9a394..e0dde3a9 100644 --- a/m03Q3/task.yaml +++ b/m03Q3/task.yaml @@ -13,7 +13,7 @@ context: |- */ Vous pouvez réutiliser votre code de la question supplémentaire maximum de la mission 1. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q4/task.yaml b/m03Q4/task.yaml index a5c3bdb0..de66d053 100644 --- a/m03Q4/task.yaml +++ b/m03Q4/task.yaml @@ -24,7 +24,7 @@ context: |+ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q5/task.yaml b/m03Q5/task.yaml index ab957634..55658ac6 100644 --- a/m03Q5/task.yaml +++ b/m03Q5/task.yaml @@ -10,7 +10,7 @@ context: |+ En Java, la constante :math:`\pi` est définie dans la classe `Math `_ comme la constante ``Math.PI`` -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q6/task.yaml b/m03Q6/task.yaml index c5b05be8..730ed045 100644 --- a/m03Q6/task.yaml +++ b/m03Q6/task.yaml @@ -13,7 +13,7 @@ context: |- * @pre n > 0 * @post retourne la valeur de la factorielle de n */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03Q7/task.yaml b/m03Q7/task.yaml index c01b96a6..d7ca5d13 100644 --- a/m03Q7/task.yaml +++ b/m03Q7/task.yaml @@ -14,7 +14,7 @@ context: |- * @post retourne true si l'entier x est * un carré parfait, false sinon */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '20' diff --git a/m03_bf/task.yaml b/m03_bf/task.yaml index 6dc847aa..df1893e0 100644 --- a/m03_bf/task.yaml +++ b/m03_bf/task.yaml @@ -32,7 +32,7 @@ context: | - ``chiffresPairs(5555)`` doit retourner ``true`` - ``chiffresPairs(555)`` doit retourner ``false`` - ``chiffresPairs(-555)`` doit retourner ``false`` -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03dem2/task.yaml b/m03dem2/task.yaml index 904e6246..b3911a3f 100644 --- a/m03dem2/task.yaml +++ b/m03dem2/task.yaml @@ -15,7 +15,7 @@ context: |- ∗ @pre - ∗ @post affiche le maximum entre les nombres entiers a et b ∗ / -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03dem3/task.yaml b/m03dem3/task.yaml index ff19d7b3..37fcb579 100644 --- a/m03dem3/task.yaml +++ b/m03dem3/task.yaml @@ -11,7 +11,7 @@ context: |- ∗ @pre n > 0 ∗ @post retourne true lorsque n est un nombre entier impair et false sinon. ∗ / -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '20' diff --git a/m03dem4/task.yaml b/m03dem4/task.yaml index 1d94fc01..ea8acfb8 100644 --- a/m03dem4/task.yaml +++ b/m03dem4/task.yaml @@ -37,7 +37,7 @@ context: |+ X XXXXX -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '20' diff --git a/m03dem5/task.yaml b/m03dem5/task.yaml index b5d20539..792ef1e8 100644 --- a/m03dem5/task.yaml +++ b/m03dem5/task.yaml @@ -16,7 +16,7 @@ context: |- public static int nDiv(int n) { // Votre code ici } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m03real1/task.yaml b/m03real1/task.yaml index 6bdc2745..21a76e00 100644 --- a/m03real1/task.yaml +++ b/m03real1/task.yaml @@ -3,7 +3,7 @@ author: François MICHEL categories: [] contact_url: '' context: Soumettez l'archive zip contenant le fichier LibMath.java et README.txt -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q1/task.yaml b/m04Q1/task.yaml index 47248798..5d427395 100644 --- a/m04Q1/task.yaml +++ b/m04Q1/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre s != null * @post retourne le nombre d’occurrences du caractère c dans la chaîne s */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q10/task.yaml b/m04Q10/task.yaml index 7471220b..82597c54 100644 --- a/m04Q10/task.yaml +++ b/m04Q10/task.yaml @@ -17,7 +17,7 @@ context: |+ La méthode ci-dessous pourrait vous aider à résoudre facilement cette question : ``_ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q11/task.yaml b/m04Q11/task.yaml index 06d63882..f5942399 100644 --- a/m04Q11/task.yaml +++ b/m04Q11/task.yaml @@ -16,7 +16,7 @@ context: |- * @post retourne le caractère qui se trouve le plus grand * nombre de fois dans la chaîne s */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q2/task.yaml b/m04Q2/task.yaml index c96a0507..810caa62 100644 --- a/m04Q2/task.yaml +++ b/m04Q2/task.yaml @@ -11,7 +11,7 @@ context: |- * @pre s!=null * @post retourne true si le caractère c est dans s, false sinon */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q3/task.yaml b/m04Q3/task.yaml index 79644bb7..6b6f5a6a 100644 --- a/m04Q3/task.yaml +++ b/m04Q3/task.yaml @@ -16,7 +16,7 @@ context: |- Il y a une méthode dans la classe Character qui devrait vous aider à vérifier qu'un caractère est un chiffre, voir https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q4/task.yaml b/m04Q4/task.yaml index 40436ca0..af69aed1 100644 --- a/m04Q4/task.yaml +++ b/m04Q4/task.yaml @@ -19,7 +19,7 @@ context: | Vous trouverez dans la classe `Character `_ des méthodes utiles pour cette tâche. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q5/task.yaml b/m04Q5/task.yaml index 12709bc5..3f78b327 100644 --- a/m04Q5/task.yaml +++ b/m04Q5/task.yaml @@ -14,7 +14,7 @@ context: |- * @post retourne true uniquement si la chaine de caractères * s ne contient que les caractères 0 ou 1 */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q6/task.yaml b/m04Q6/task.yaml index 775ccd05..e9809500 100644 --- a/m04Q6/task.yaml +++ b/m04Q6/task.yaml @@ -14,7 +14,7 @@ context: |- * @post retourne true si la chaine s contient uniquement des * caracteres se trouvant la chaine c, false sinon */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q7/task.yaml b/m04Q7/task.yaml index d7795307..8765277e 100644 --- a/m04Q7/task.yaml +++ b/m04Q7/task.yaml @@ -15,7 +15,7 @@ context: |- * @pre s != null * @post retourne true si s est un palindrome, false sinon */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q8/task.yaml b/m04Q8/task.yaml index 2541a856..04f12f72 100644 --- a/m04Q8/task.yaml +++ b/m04Q8/task.yaml @@ -13,7 +13,7 @@ context: |- * @post retourne true si la chaine de caractère in se trouve * dans la chaîne de caractères s */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04Q9/task.yaml b/m04Q9/task.yaml index c7290a25..55cb80d9 100644 --- a/m04Q9/task.yaml +++ b/m04Q9/task.yaml @@ -18,7 +18,7 @@ context: |- * @post retourne la représentation entière du nombre binaire * correspondant à cette chaîne */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04_bf/task.yaml b/m04_bf/task.yaml index 4468c081..714bfb10 100644 --- a/m04_bf/task.yaml +++ b/m04_bf/task.yaml @@ -36,7 +36,7 @@ context: |- Affiche les valeurs 0, 1, 2, 3 et 4. Pour résoudre ce problème, pensez à la découper en sous-problèmes et n’hésitez pas à utiliser une ou plusieurs méthodes privées supplémentaires. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04dem1/task.yaml b/m04dem1/task.yaml index c7554493..ddb367e2 100644 --- a/m04dem1/task.yaml +++ b/m04dem1/task.yaml @@ -12,7 +12,7 @@ context: | char d = // un caractère de a à z, en majuscule ou non boolean b; // à assigner dans la Question 1 char e; // à assigner dans la Question 2 -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04dem2/task.yaml b/m04dem2/task.yaml index 3bbdd72e..d933a194 100644 --- a/m04dem2/task.yaml +++ b/m04dem2/task.yaml @@ -24,7 +24,7 @@ context: |- public static String cat(String s1, char c) { // À compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04dem3/task.yaml b/m04dem3/task.yaml index 5ddd996e..8ef7e8bd 100644 --- a/m04dem3/task.yaml +++ b/m04dem3/task.yaml @@ -22,7 +22,7 @@ context: | public static void showLength(String s) { // à compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04dem4/task.yaml b/m04dem4/task.yaml index 02b7c3db..e4ef2ddc 100644 --- a/m04dem4/task.yaml +++ b/m04dem4/task.yaml @@ -17,7 +17,7 @@ context: |+ // À implémenter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04dem5/task.yaml b/m04dem5/task.yaml index 38d238ba..9fa0fa3a 100644 --- a/m04dem5/task.yaml +++ b/m04dem5/task.yaml @@ -18,7 +18,7 @@ context: |- public static boolean containsChar(String s1, String s2){ // À implémenter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m04real/task.yaml b/m04real/task.yaml index d34b9fbc..c70366f3 100644 --- a/m04real/task.yaml +++ b/m04real/task.yaml @@ -9,7 +9,7 @@ context: |- - BioInfo.java - README.txt -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q1/task.yaml b/m05Q1/task.yaml index 3a5f7f9e..64738d4e 100644 --- a/m05Q1/task.yaml +++ b/m05Q1/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre v != null, v contient au moins 2 éléments * @post retourne vrai si tous les éléments du tableau ont la même valeur, false sinon */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q10/task.yaml b/m05Q10/task.yaml index ee217bc5..2e279d3d 100644 --- a/m05Q10/task.yaml +++ b/m05Q10/task.yaml @@ -13,7 +13,7 @@ context: |- * @post retourne un tableau dont chaque élément est la somme des éléments * des tableaux a et b au même indice */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q11/task.yaml b/m05Q11/task.yaml index ead2c838..92d345a2 100644 --- a/m05Q11/task.yaml +++ b/m05Q11/task.yaml @@ -21,7 +21,7 @@ context: |- * dont les éléments sont dans l'ordre croissant * et qui contient les n plus grands entiers du tableau v */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q12/task.yaml b/m05Q12/task.yaml index 4faa5a2a..855ce700 100644 --- a/m05Q12/task.yaml +++ b/m05Q12/task.yaml @@ -20,7 +20,7 @@ context: |+ */ public static void oppose2(int[] v) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q2/task.yaml b/m05Q2/task.yaml index 7b0b4113..64f57a9e 100644 --- a/m05Q2/task.yaml +++ b/m05Q2/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre v != null * @post retourne le maximum du tableau de réels v */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q3/task.yaml b/m05Q3/task.yaml index 77cc8404..f02c9b5a 100644 --- a/m05Q3/task.yaml +++ b/m05Q3/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre v != null * @post retourne la moyenne arithmétique du tableau de réels v */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q4/task.yaml b/m05Q4/task.yaml index 1a9ee77b..52be6330 100644 --- a/m05Q4/task.yaml +++ b/m05Q4/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre t != null * @post retourne true si les éléments du tableau t sont croissants, false sinon */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q5/task.yaml b/m05Q5/task.yaml index f57f0eda..fc22f304 100644 --- a/m05Q5/task.yaml +++ b/m05Q5/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre n > 0 * @post retourne un vecteur de n éléments tous initialisés à la valeur i */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q6/task.yaml b/m05Q6/task.yaml index e0b3eba9..7e3f2c84 100644 --- a/m05Q6/task.yaml +++ b/m05Q6/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre n > 0 * @post retourne la matrice identité de taille n×n */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q7/task.yaml b/m05Q7/task.yaml index aa61be75..7549d566 100644 --- a/m05Q7/task.yaml +++ b/m05Q7/task.yaml @@ -12,7 +12,7 @@ context: |- * @pre m != null * @post compte le nombre d'occurences de la valeur v dans int[][] m */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q8/task.yaml b/m05Q8/task.yaml index e603d610..8003158b 100644 --- a/m05Q8/task.yaml +++ b/m05Q8/task.yaml @@ -13,7 +13,7 @@ context: |- * dans le tableau int[][] m par la valeur w. * Modifie la matrice m. */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05Q9/task.yaml b/m05Q9/task.yaml index 73f35116..b47d626a 100644 --- a/m05Q9/task.yaml +++ b/m05Q9/task.yaml @@ -14,7 +14,7 @@ context: |- * d'une position vers la droite * et v[0] est mis à la valeur '*' (étoile) */ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05_bf/task.yaml b/m05_bf/task.yaml index 07bc7dc5..cdfbfafb 100644 --- a/m05_bf/task.yaml +++ b/m05_bf/task.yaml @@ -34,7 +34,7 @@ context: |- } N'oubliez pas d'éviter la duplication de code, et d'éventuellement réutiliser l'une des deux méthodes dans l'autre. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05dem1/task.yaml b/m05dem1/task.yaml index 8dd90220..fd0e4d34 100644 --- a/m05dem1/task.yaml +++ b/m05dem1/task.yaml @@ -5,7 +5,7 @@ contact_url: '' context: |- Répondez aux questions simples suivantes au sujet de la syntaxe des tableaux. Vous *devez* respecter les noms de variables suggérés. (Nous utilisons le type ``int`` pour les entiers et le type ``double`` pour les réels.) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05dem2/task.yaml b/m05dem2/task.yaml index 7d2434a7..2524043b 100644 --- a/m05dem2/task.yaml +++ b/m05dem2/task.yaml @@ -26,7 +26,7 @@ context: |- Il teste sa méthode sur les deux tableaux ci-dessus et conclut que sa méthode est correcte. Qu'en pensez-vous ? -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '20' diff --git a/m05dem3/task.yaml b/m05dem3/task.yaml index aa1929ea..0a6f05ce 100644 --- a/m05dem3/task.yaml +++ b/m05dem3/task.yaml @@ -15,7 +15,7 @@ context: |- * principale valent 1 et tous les autres valent 0 */ public static int[][] unite(int n) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05dem4/task.yaml b/m05dem4/task.yaml index f6fd43aa..21c0a641 100644 --- a/m05dem4/task.yaml +++ b/m05dem4/task.yaml @@ -13,7 +13,7 @@ context: | * @post retourne la matrice valant la somme des matrices a et b */ public static int[][] add(int[][] a, int[][] b) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05dem5/task.yaml b/m05dem5/task.yaml index 5e4330d8..b0de045c 100644 --- a/m05dem5/task.yaml +++ b/m05dem5/task.yaml @@ -9,7 +9,7 @@ context: |+ public static void main(String[] args) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m05real/task.yaml b/m05real/task.yaml index 9fc2a94d..67c7f347 100644 --- a/m05real/task.yaml +++ b/m05real/task.yaml @@ -16,7 +16,7 @@ context: | - TestContains.java - TestSubtract.java - README.txt -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q1/task.yaml b/m06Q1/task.yaml index 4128b3e1..8c077fbc 100644 --- a/m06Q1/task.yaml +++ b/m06Q1/task.yaml @@ -41,7 +41,7 @@ context: |- Ecrivez le constructeur de cette classe ``Date``. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q10/task.yaml b/m06Q10/task.yaml index 0470a851..e6e5a23b 100644 --- a/m06Q10/task.yaml +++ b/m06Q10/task.yaml @@ -56,7 +56,7 @@ context: |- */ // A compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q11/task.yaml b/m06Q11/task.yaml index c07bc4ce..1ffc4ce1 100644 --- a/m06Q11/task.yaml +++ b/m06Q11/task.yaml @@ -65,7 +65,7 @@ context: |- */ // A compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q2/task.yaml b/m06Q2/task.yaml index bd527235..1d1c1238 100644 --- a/m06Q2/task.yaml +++ b/m06Q2/task.yaml @@ -54,7 +54,7 @@ context: |- public int getAnnee(){ // a compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q3/task.yaml b/m06Q3/task.yaml index c3880f01..43cb44f1 100644 --- a/m06Q3/task.yaml +++ b/m06Q3/task.yaml @@ -64,7 +64,7 @@ context: |- } // ... } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q4/task.yaml b/m06Q4/task.yaml index f9ee6494..509f8676 100644 --- a/m06Q4/task.yaml +++ b/m06Q4/task.yaml @@ -78,7 +78,7 @@ context: |- // à compléter } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q5/task.yaml b/m06Q5/task.yaml index 971663eb..3914d49e 100644 --- a/m06Q5/task.yaml +++ b/m06Q5/task.yaml @@ -43,7 +43,7 @@ context: |- } //... } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q6/task.yaml b/m06Q6/task.yaml index 655a7e8e..5a78e62f 100644 --- a/m06Q6/task.yaml +++ b/m06Q6/task.yaml @@ -48,7 +48,7 @@ context: |- //Code à compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q7/task.yaml b/m06Q7/task.yaml index 818dc264..7bece4a5 100644 --- a/m06Q7/task.yaml +++ b/m06Q7/task.yaml @@ -31,7 +31,7 @@ context: |- */ //à compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q8/task.yaml b/m06Q8/task.yaml index 3c0c21a8..b3ccddec 100644 --- a/m06Q8/task.yaml +++ b/m06Q8/task.yaml @@ -45,7 +45,7 @@ context: |- */ //A compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06Q9/task.yaml b/m06Q9/task.yaml index 2c12d5a5..7cfd9b24 100644 --- a/m06Q9/task.yaml +++ b/m06Q9/task.yaml @@ -48,7 +48,7 @@ context: |- */ // A compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06_bf/task.yaml b/m06_bf/task.yaml index 32e8b0ba..8520fd72 100644 --- a/m06_bf/task.yaml +++ b/m06_bf/task.yaml @@ -45,7 +45,7 @@ context: |- * (ex : un pourcentage de 100% double le salaire) */ public void augmente(float pourcentage); -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06dem1/task.yaml b/m06dem1/task.yaml index 3066f2d4..ba0b6b5a 100644 --- a/m06dem1/task.yaml +++ b/m06dem1/task.yaml @@ -84,7 +84,7 @@ context: |+ q = p.opposite(); System.out.println(q.getA() + ", " + q.getB()); // affiche "-10, 2" -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06dem2/task.yaml b/m06dem2/task.yaml index 6d243ebb..e0201743 100644 --- a/m06dem2/task.yaml +++ b/m06dem2/task.yaml @@ -71,7 +71,7 @@ context: |- } Le but de l'exercice est d'implémenter les méthodes ``setA()`` et ``setB()`` sans oublier de mettre à jour ``ordered`` en fonction des nouvelles valeurs des nombres dans la paire. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06dem3/task.yaml b/m06dem3/task.yaml index e24c04ac..67b54b2c 100644 --- a/m06dem3/task.yaml +++ b/m06dem3/task.yaml @@ -53,7 +53,7 @@ context: |- } Aidez cet étudiant en détresse et implémentez la méthode ``same`` dont les spécifications sont fournies ci-dessus. Pensez à gérer le cas où ``d == null``, car les préconditions ne font aucune supposition. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06dem4/task.yaml b/m06dem4/task.yaml index 423dbc88..9d1b3460 100644 --- a/m06dem4/task.yaml +++ b/m06dem4/task.yaml @@ -20,7 +20,7 @@ context: |- } System.out.println("Le fichier a été lu entièrement."); } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m06real/task.yaml b/m06real/task.yaml index bf8b8fa9..44e91b72 100644 --- a/m06real/task.yaml +++ b/m06real/task.yaml @@ -14,7 +14,7 @@ context: |- - Temps.java - Programme.java - README.txt -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q1/task.yaml b/m07Q1/task.yaml index afb39b9b..85fd7593 100644 --- a/m07Q1/task.yaml +++ b/m07Q1/task.yaml @@ -52,7 +52,7 @@ context: |- //A compléter } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q10/task.yaml b/m07Q10/task.yaml index 5734dfe5..f06229ac 100644 --- a/m07Q10/task.yaml +++ b/m07Q10/task.yaml @@ -155,7 +155,7 @@ context: |+ } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q11/task.yaml b/m07Q11/task.yaml index 445cf27b..cf8466db 100644 --- a/m07Q11/task.yaml +++ b/m07Q11/task.yaml @@ -152,7 +152,7 @@ context: |+ } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q2/task.yaml b/m07Q2/task.yaml index 342b0a58..29dae59c 100644 --- a/m07Q2/task.yaml +++ b/m07Q2/task.yaml @@ -53,7 +53,7 @@ context: |- // Non fourni } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q3/task.yaml b/m07Q3/task.yaml index 05f9eca8..66519a20 100644 --- a/m07Q3/task.yaml +++ b/m07Q3/task.yaml @@ -80,7 +80,7 @@ context: |- // A compléter } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q4/task.yaml b/m07Q4/task.yaml index 46edbd38..2e34fc93 100644 --- a/m07Q4/task.yaml +++ b/m07Q4/task.yaml @@ -96,7 +96,7 @@ context: |- // Non fourni } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q5/task.yaml b/m07Q5/task.yaml index c5a1d0f0..1bdf0676 100644 --- a/m07Q5/task.yaml +++ b/m07Q5/task.yaml @@ -97,7 +97,7 @@ context: |- // Non fourni } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q6/task.yaml b/m07Q6/task.yaml index 2ad870d7..19707deb 100644 --- a/m07Q6/task.yaml +++ b/m07Q6/task.yaml @@ -98,7 +98,7 @@ context: |- //Non fourni } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q7/task.yaml b/m07Q7/task.yaml index 838412ef..50b767ed 100644 --- a/m07Q7/task.yaml +++ b/m07Q7/task.yaml @@ -151,7 +151,7 @@ context: | /* Code non fourni */ } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q8/task.yaml b/m07Q8/task.yaml index a10795fe..e5b4c1fa 100644 --- a/m07Q8/task.yaml +++ b/m07Q8/task.yaml @@ -152,7 +152,7 @@ context: |+ } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07Q9/task.yaml b/m07Q9/task.yaml index 57b9c6fc..83b2ce2b 100644 --- a/m07Q9/task.yaml +++ b/m07Q9/task.yaml @@ -152,7 +152,7 @@ context: |+ } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07_bf/task.yaml b/m07_bf/task.yaml index 08287a9e..f5cfe379 100644 --- a/m07_bf/task.yaml +++ b/m07_bf/task.yaml @@ -72,7 +72,7 @@ context: |- [100001] Radiohead, The Bends (2917 s) Remarquez que chaque ``Item`` possède un serial qui est un numéro de série unique propre à l’objet (pour pouvoir différencier plusieurs exemplaires du même livre par exemple). Il doit être généré automatiquement et être supérieur à 100000 pour un CD. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07dem1/task.yaml b/m07dem1/task.yaml index 58ab2a3e..858eb228 100644 --- a/m07dem1/task.yaml +++ b/m07dem1/task.yaml @@ -29,7 +29,7 @@ context: |+ .. _Object: http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m07dem2/task.yaml b/m07dem2/task.yaml index 99085e85..e20eee1d 100644 --- a/m07dem2/task.yaml +++ b/m07dem2/task.yaml @@ -32,7 +32,7 @@ context: |4- return numero; } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q1/task.yaml b/m08Q1/task.yaml index 2ec0b455..992d067e 100644 --- a/m08Q1/task.yaml +++ b/m08Q1/task.yaml @@ -61,7 +61,7 @@ context: |- // Non fourni } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q2/task.yaml b/m08Q2/task.yaml index 8e9ff057..d0c80f71 100644 --- a/m08Q2/task.yaml +++ b/m08Q2/task.yaml @@ -61,7 +61,7 @@ context: |- // Non fourni } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q3/task.yaml b/m08Q3/task.yaml index 4940c5e5..269909b1 100644 --- a/m08Q3/task.yaml +++ b/m08Q3/task.yaml @@ -59,7 +59,7 @@ context: |- // A compléter } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q4/task.yaml b/m08Q4/task.yaml index a0280636..49e52197 100644 --- a/m08Q4/task.yaml +++ b/m08Q4/task.yaml @@ -92,7 +92,7 @@ context: |- //A COMPLETER } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q5/task.yaml b/m08Q5/task.yaml index 3197ad22..e23076d2 100644 --- a/m08Q5/task.yaml +++ b/m08Q5/task.yaml @@ -105,7 +105,7 @@ context: |- //A compléter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q6/task.yaml b/m08Q6/task.yaml index 69fb8148..fa57fa94 100644 --- a/m08Q6/task.yaml +++ b/m08Q6/task.yaml @@ -61,7 +61,7 @@ context: |- //A COMPLETER } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08Q7/task.yaml b/m08Q7/task.yaml index a521a654..3d7025dc 100644 --- a/m08Q7/task.yaml +++ b/m08Q7/task.yaml @@ -61,7 +61,7 @@ context: |- //A COMPLETER } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08dem1/task.yaml b/m08dem1/task.yaml index 40b91bed..4050fbc5 100644 --- a/m08dem1/task.yaml +++ b/m08dem1/task.yaml @@ -83,7 +83,7 @@ context: | } Implémentez les deux alternatives de la méthode ``set()`` de la classe ``Drapeau`` en vous référant aux spécifications énoncées dans l'interface ``DrapeauIF``. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m08dem2/task.yaml b/m08dem2/task.yaml index 7aca0efd..d3affe6f 100644 --- a/m08dem2/task.yaml +++ b/m08dem2/task.yaml @@ -15,7 +15,7 @@ context: |- public static String repeat(String s, int n){ // À implémenter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q1/task.yaml b/m09Q1/task.yaml index 5dd2537e..059fe719 100644 --- a/m09Q1/task.yaml +++ b/m09Q1/task.yaml @@ -39,7 +39,7 @@ context: |- // Insérez le code manquant } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q2/task.yaml b/m09Q2/task.yaml index 6a6d8f8c..7f1cc389 100644 --- a/m09Q2/task.yaml +++ b/m09Q2/task.yaml @@ -88,7 +88,7 @@ context: |- } Pour rappel, la documentation de l'interface Comparable est disponible via https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q3/task.yaml b/m09Q3/task.yaml index a915d401..165871f4 100644 --- a/m09Q3/task.yaml +++ b/m09Q3/task.yaml @@ -16,7 +16,7 @@ context: |- public int countLines(String fileName); Pour lire le fichier, nous vous demandons d'utilisez un ``BufferedReader``. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q4/task.yaml b/m09Q4/task.yaml index 3683ae3f..be87d062 100644 --- a/m09Q4/task.yaml +++ b/m09Q4/task.yaml @@ -16,7 +16,7 @@ context: |- public boolean contains(String s, String fileName) On vous demande d'utiliser un ``BufferedReader`` pour lire le fichier -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q5/task.yaml b/m09Q5/task.yaml index 2c78b03c..14be9f2b 100644 --- a/m09Q5/task.yaml +++ b/m09Q5/task.yaml @@ -15,7 +15,7 @@ context: | public static boolean accessible(String fileName) On vous demande d'utiliser un ``BufferedReader`` si vous devez lire le fichier. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q6/task.yaml b/m09Q6/task.yaml index a1284adc..4af74ff3 100644 --- a/m09Q6/task.yaml +++ b/m09Q6/task.yaml @@ -15,7 +15,7 @@ context: | * lignes suivantes : un élément par ligne en commençant par v[0] ... */ public void saveVector(int [] v, String fileName) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09Q7/task.yaml b/m09Q7/task.yaml index 72cda700..1a80057c 100644 --- a/m09Q7/task.yaml +++ b/m09Q7/task.yaml @@ -20,7 +20,7 @@ context: | public int[] readVector(String fileName) Pour lire le fichier, nous vous demandons d'utiliser un ``BufferedReader``. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09_bf/task.yaml b/m09_bf/task.yaml index 7795f1ec..5f38b7df 100644 --- a/m09_bf/task.yaml +++ b/m09_bf/task.yaml @@ -27,7 +27,7 @@ context: | * 3.1416 */ public static double getMax (String filename) -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09dem1/task.yaml b/m09dem1/task.yaml index 7bf88331..3ee287bc 100644 --- a/m09dem1/task.yaml +++ b/m09dem1/task.yaml @@ -28,7 +28,7 @@ context: |- ? Écrivez le corps de cette nouvelle méthode qui prend un argument de type ``Object`` au lieu d'un argument de type ``Integer``. Écrivez la réponse en une seule ligne. Notez que l'argument ``o`` sera toujours du type ``Integer``. Pensez à utiliser des méthodes qui sont déjà à votre disposition. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09dem2/task.yaml b/m09dem2/task.yaml index 2535dbd7..243b5c1f 100644 --- a/m09dem2/task.yaml +++ b/m09dem2/task.yaml @@ -47,7 +47,7 @@ context: |- public static int premierPrenom(String filename){ // À implémenter } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m09real/task.yaml b/m09real/task.yaml index 6d7f8ed4..81970615 100644 --- a/m09real/task.yaml +++ b/m09real/task.yaml @@ -11,7 +11,7 @@ context: |- - Dictionary.java - Word.java - README.txt -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10Q1/task.yaml b/m10Q1/task.yaml index 5f2ca8b7..35df0f6b 100644 --- a/m10Q1/task.yaml +++ b/m10Q1/task.yaml @@ -40,7 +40,7 @@ context: |- } Tel qu'il est écrit, ce code ne compile pas. Il manque une méthode. Pourriez-vous l'ajouter (signature et corps) ? -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10Q2/task.yaml b/m10Q2/task.yaml index f5fdc833..86679acb 100644 --- a/m10Q2/task.yaml +++ b/m10Q2/task.yaml @@ -47,7 +47,7 @@ context: |- return this.num; } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10Q3/task.yaml b/m10Q3/task.yaml index 02fc0f32..1416ea2f 100644 --- a/m10Q3/task.yaml +++ b/m10Q3/task.yaml @@ -44,7 +44,7 @@ context: |- // Question } } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10Q4/task.yaml b/m10Q4/task.yaml index c2910774..ca16d307 100644 --- a/m10Q4/task.yaml +++ b/m10Q4/task.yaml @@ -85,7 +85,7 @@ context: |- } Vous pouvez tester vos méthodes individuellement. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10Q5/task.yaml b/m10Q5/task.yaml index af52b0d9..82780907 100644 --- a/m10Q5/task.yaml +++ b/m10Q5/task.yaml @@ -36,7 +36,7 @@ context: |- On vous demande d'utiliser ``BufferedReader`` pour répondre à cette question. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10Q6/task.yaml b/m10Q6/task.yaml index 58f55242..f35bfa88 100644 --- a/m10Q6/task.yaml +++ b/m10Q6/task.yaml @@ -34,7 +34,7 @@ context: |- On vous demande d'utiliser ``BufferedReader`` pour répondre à cette question. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10dem1/task.yaml b/m10dem1/task.yaml index c5ff0b51..78b47d36 100644 --- a/m10dem1/task.yaml +++ b/m10dem1/task.yaml @@ -77,7 +77,7 @@ context: |- .. code-block:: console La chaîne de caractères passée à parseInt() ne contient pas que des chiffres. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10dem2/task.yaml b/m10dem2/task.yaml index dc77463c..ecd43e31 100644 --- a/m10dem2/task.yaml +++ b/m10dem2/task.yaml @@ -18,7 +18,7 @@ context: |- public static int write(int n, String filename) Faites bien attention à gérer les erreurs d'I/O. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m10real/task.yaml b/m10real/task.yaml index 5ffd18dd..8b8e4e30 100644 --- a/m10real/task.yaml +++ b/m10real/task.yaml @@ -6,7 +6,7 @@ context: |- Vous soumettrez votre soumission de la phase de réalisation de la Mission 10 soit ici, soit directement via BlueJ. Veuillez soumettre une archive **zip** contenant uniquement les fichiers **.java** utilisés pour votre mission, ainsi qu'un fichier nommé "README.TXT". -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m11Q1/task.yaml b/m11Q1/task.yaml index cc1ac49b..a5511f81 100644 --- a/m11Q1/task.yaml +++ b/m11Q1/task.yaml @@ -68,7 +68,7 @@ context: |- } Complétez cette classe. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m11Q2/task.yaml b/m11Q2/task.yaml index 24b24ad2..f3b1062d 100644 --- a/m11Q2/task.yaml +++ b/m11Q2/task.yaml @@ -66,7 +66,7 @@ context: |- } Complétez cette classe. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m11Q3/task.yaml b/m11Q3/task.yaml index 93f24fc6..20d62a18 100644 --- a/m11Q3/task.yaml +++ b/m11Q3/task.yaml @@ -64,7 +64,7 @@ context: |- } Complétez cette classe. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m11Q4/task.yaml b/m11Q4/task.yaml index 3988956b..120a0929 100644 --- a/m11Q4/task.yaml +++ b/m11Q4/task.yaml @@ -61,7 +61,7 @@ context: |- } Complétez cette classe. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m11Q5/task.yaml b/m11Q5/task.yaml index d12a76c6..204f2d48 100644 --- a/m11Q5/task.yaml +++ b/m11Q5/task.yaml @@ -64,7 +64,7 @@ context: |- Complétez cette classe. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '10' diff --git a/m11Q6/task.yaml b/m11Q6/task.yaml index f76e0e82..c53cca51 100644 --- a/m11Q6/task.yaml +++ b/m11Q6/task.yaml @@ -69,7 +69,7 @@ context: |- } Complétez cette classe. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m11dem13/task.yaml b/m11dem13/task.yaml index 47d92fb7..ccd8e6af 100644 --- a/m11dem13/task.yaml +++ b/m11dem13/task.yaml @@ -6,7 +6,7 @@ context: |- A la suite de l'écriture de la classe ``DListTest`` faite aux questions précédentes, vous avez réussi à découvrir à l'aide de JUnit l'erreur contenue dans la classe testée. Soumettez pour finir une version corrigée de cette classe ``DList``. **Attention, vous devez soumettre la classe DList entière avec exactement les mêmes attributs et les mêmes méthodes. Seul le corps des méthodes et les valeurs des attributs peuvent être différents.** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q1_online/task.yaml b/m12_examj2011q1_online/task.yaml index 8c2f7b55..28cca5e1 100644 --- a/m12_examj2011q1_online/task.yaml +++ b/m12_examj2011q1_online/task.yaml @@ -23,7 +23,7 @@ context: |- { /*** VOTRE REPONSE ***/ } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q2_online/task.yaml b/m12_examj2011q2_online/task.yaml index 473555fc..f607f563 100644 --- a/m12_examj2011q2_online/task.yaml +++ b/m12_examj2011q2_online/task.yaml @@ -22,7 +22,7 @@ context: | */ /*** VOTRE REPONSE ***/ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q3_online/task.yaml b/m12_examj2011q3_online/task.yaml index 6bc6bd87..26849e0d 100644 --- a/m12_examj2011q3_online/task.yaml +++ b/m12_examj2011q3_online/task.yaml @@ -31,7 +31,7 @@ context: |- { /*** VOTRE REPONSE ***/ } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q4_online/task.yaml b/m12_examj2011q4_online/task.yaml index a8d4ad7c..9ab133f2 100644 --- a/m12_examj2011q4_online/task.yaml +++ b/m12_examj2011q4_online/task.yaml @@ -24,7 +24,7 @@ context: |- { /*** VOTRE REPONSE ***/ } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q5_online/task.yaml b/m12_examj2011q5_online/task.yaml index b14ee303..a24de561 100644 --- a/m12_examj2011q5_online/task.yaml +++ b/m12_examj2011q5_online/task.yaml @@ -26,7 +26,7 @@ context: |- public void addProcess(Process p) throws UnavailableException { /*** VOTRE REPONSE ***/ } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q6_online/task.yaml b/m12_examj2011q6_online/task.yaml index b26a1468..5e86a2cf 100644 --- a/m12_examj2011q6_online/task.yaml +++ b/m12_examj2011q6_online/task.yaml @@ -23,7 +23,7 @@ context: |- */ /*** VOTRE REPONSE ***/ -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/m12_examj2011q7_online/task.yaml b/m12_examj2011q7_online/task.yaml index 62250e1b..83149aec 100644 --- a/m12_examj2011q7_online/task.yaml +++ b/m12_examj2011q7_online/task.yaml @@ -24,7 +24,7 @@ context: |- public void loadState(String fileName){ /*** VOTRE REPONSE ***/ } -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q1/task.yaml b/mX12_examj2011q1/task.yaml index d3cd8e12..6042b1f0 100644 --- a/mX12_examj2011q1/task.yaml +++ b/mX12_examj2011q1/task.yaml @@ -28,7 +28,7 @@ context: |- **Vu que l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q2/task.yaml b/mX12_examj2011q2/task.yaml index 827d9aac..60ec83fd 100644 --- a/mX12_examj2011q2/task.yaml +++ b/mX12_examj2011q2/task.yaml @@ -27,7 +27,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q3/task.yaml b/mX12_examj2011q3/task.yaml index e0e9f5db..3531f2c2 100644 --- a/mX12_examj2011q3/task.yaml +++ b/mX12_examj2011q3/task.yaml @@ -30,7 +30,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q4/task.yaml b/mX12_examj2011q4/task.yaml index 1622b733..0bfa0791 100644 --- a/mX12_examj2011q4/task.yaml +++ b/mX12_examj2011q4/task.yaml @@ -30,7 +30,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q5/task.yaml b/mX12_examj2011q5/task.yaml index 023dd4b4..62aef70c 100644 --- a/mX12_examj2011q5/task.yaml +++ b/mX12_examj2011q5/task.yaml @@ -32,7 +32,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q6/task.yaml b/mX12_examj2011q6/task.yaml index de25e8fc..ea42e98e 100644 --- a/mX12_examj2011q6/task.yaml +++ b/mX12_examj2011q6/task.yaml @@ -28,7 +28,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX12_examj2011q7/task.yaml b/mX12_examj2011q7/task.yaml index 9bd21140..e1bf3b4f 100644 --- a/mX12_examj2011q7/task.yaml +++ b/mX12_examj2011q7/task.yaml @@ -32,7 +32,7 @@ context: |- **Comme l'examen est sur papier, il est préférable que vous rédigiez la réponse sur une feuille de papier et que vous la recopiiez ici une fois que vous êtes sûr de vous. INGInious vous permettra de vérifier si votre code est correct mais n'oubliez pas qu'à l'examen, vous n'aurez pas plusieurs essais. Il est donc important de s'entraîner à rédiger du code sur papier pour se mettre en situation d'examen et évaluer votre temps pour répondre.** **Souvenez-vous qu'une réponse correcte sur INGInious ne correspond pas d'office à un 20 à l'examen (la clarté, la simplicité du code, les spécifications sont aussi des critères importants non vérifiés par INGInious).** -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX1Q19/task.yaml b/mX1Q19/task.yaml index 42d68f87..7cabcf1b 100644 --- a/mX1Q19/task.yaml +++ b/mX1Q19/task.yaml @@ -4,7 +4,7 @@ categories: [] contact_url: '' context: 'Créer un programme permettant de calculer des fonctions mathématiques. Vous ne pouvez pas utiliser les fonctions mathématiques natives de Java. ' -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX2Q2/task.yaml b/mX2Q2/task.yaml index 35b8af2e..be36ba81 100644 --- a/mX2Q2/task.yaml +++ b/mX2Q2/task.yaml @@ -12,7 +12,7 @@ context: |- int reste = 0; int quotient = 0; -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX2ec2/task.yaml b/mX2ec2/task.yaml index 17d58a52..95a0f4b4 100644 --- a/mX2ec2/task.yaml +++ b/mX2ec2/task.yaml @@ -25,7 +25,7 @@ context: | System.out.print("Entrez la valeur du coefficient c :"); double c=TextIO.getlnDouble(); -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX3Q8/task.yaml b/mX3Q8/task.yaml index fc577c24..2eb5717c 100644 --- a/mX3Q8/task.yaml +++ b/mX3Q8/task.yaml @@ -6,7 +6,7 @@ context: |- Ecrivez la méthode permettant de calculer le nombre de racine d'une équation du second degré On passe a,b et c en paramètre de votre méthode. La méthode s'appelle eqsecdeg1 pour la première partie et eqsecdeg2 pour la seconde. -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' diff --git a/mX3Q9/task.yaml b/mX3Q9/task.yaml index 7697c33f..43b8201f 100644 --- a/mX3Q9/task.yaml +++ b/mX3Q9/task.yaml @@ -6,7 +6,7 @@ context: |- Ecrivez la méthode permettant de calculer la valeur d'une équation du second degré On passe a,b et c en paramètre de votre méthode. La méthode s'appelle eqsecdegsol1 pour la première partie et eqsecdegsol2 pour la seconde On vous donne accès à eqsecdeg2 permettant de connaître le nombre de solutions . Pour la deuxième version s'il y a plus qu'une solution, vous renvoyez -1 -environment_id: javajudge +environment_id: java8judge environment_parameters: limits: time: '30' From 6ec670ddec425c64079ab4b84aca19556152197e Mon Sep 17 00:00:00 2001 From: anaHue Date: Tue, 15 Mar 2022 13:44:57 +0100 Subject: [PATCH 08/10] add - precision on config.json --- doc/how_to_write_an_exercise.rst | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/doc/how_to_write_an_exercise.rst b/doc/how_to_write_an_exercise.rst index 58d3008a..6ac06ff8 100644 --- a/doc/how_to_write_an_exercise.rst +++ b/doc/how_to_write_an_exercise.rst @@ -5,11 +5,21 @@ To write a java exercise, the first file you need is config.json at the root of This file must have the following fields : -- ``'customscript': nameScript`` in order to use an additionnal correction script (to check if Math is import for example). if there are no additionnal script, you still need to have this information. +- ``'customscript': nameScript`` in order to use an additionnal correction script (to check if Math is imported for example). + If there are no additionnal script needed (nothing else than the test to check), you should set it to custom.sh else the code will not work. -- ``'execcustom': 0 or 1`` in order to indicate if the additionnal script should be executed (1) or not (0).if there are no additionnal script, you still need to have this information. +- ``'execcustom': 0 or 1`` in order to indicate if the additionnal script should be executed (1) or not (0). + If there are no additionnal script, you should set it to 0. + If set to 1, the program that runs before the tests will execute the script. + If an error occurs in the custom script, the error message will be displayed but your script needs to set the message itself with:: + + feedback -i id_question -r failed -f "Your error message" + exit(1) -- ``'nexercices'`` which represents the number of exercices in a single task. +- ``'nexercices'`` which represents the number of exercices in a single task. This will be helpful to indicate which question does not work in a single task. + In case of failure, the program that launches the tests will look for the one who failed and set the error message of the test as the global feedback message. + If you don't put the right number, it will still show the error message but it will be displayed in a code box with an additional sentence saying that "the code did not work" + rather than having just the error message displayed in the case you did put the right number of exercises. Here is an example of the file :: @@ -78,7 +88,10 @@ Here is an example of the 'Tests.java':: } } -Lastly, we need a 'student' folder with files called 'MessagesBundle_en.properties' for example which will hold the translations of the feedback. Each line should have the original feedback and the translated feedback. +Lastly, we need a 'student' folder with files called 'MessagesBundle_en.properties' for example which will hold the translations of the feedback. +Each line should have the original feedback and the translated feedback. + +An example of line is : ``Impossible\ de\ d\u00e9coder\ le\ config.json=Unable to decode config.json`` Here is the structure you should have :: @@ -92,4 +105,4 @@ Here is the structure you should have :: │   ├── MessagesBundle_en.properties │   └── MessagesBundle_es.properties └── Templates - └── Etudiant.tmpl + └── Student.tmpl From e56c5e22a71db608de6be9b006f9adfe1a0bcd98 Mon Sep 17 00:00:00 2001 From: anaHue <71709355+anaHue@users.noreply.github.com> Date: Mon, 14 Mar 2022 10:19:34 +0100 Subject: [PATCH 09/10] add - example structure in doc --- doc/how_to_write_an_exercise.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/how_to_write_an_exercise.rst b/doc/how_to_write_an_exercise.rst index 6ac06ff8..4b05c3ff 100644 --- a/doc/how_to_write_an_exercise.rst +++ b/doc/how_to_write_an_exercise.rst @@ -93,6 +93,7 @@ Each line should have the original feedback and the translated feedback. An example of line is : ``Impossible\ de\ d\u00e9coder\ le\ config.json=Unable to decode config.json`` +Lastly, we need a 'student' folder with files called 'MessagesBundle_en.properties' for example which will hold the translations of the feedback. Each line should have the original feedback and the translated feedback. Here is the structure you should have :: From b320ad4bf5fe1601d12f0d8194ead88d1c4900e0 Mon Sep 17 00:00:00 2001 From: anaHue Date: Wed, 16 Mar 2022 11:29:33 +0100 Subject: [PATCH 10/10] add - doc about environment and subproblem tabs --- doc/how_to_write_an_exercise.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/doc/how_to_write_an_exercise.rst b/doc/how_to_write_an_exercise.rst index 4b05c3ff..608d07e9 100644 --- a/doc/how_to_write_an_exercise.rst +++ b/doc/how_to_write_an_exercise.rst @@ -107,3 +107,20 @@ Here is the structure you should have :: │   └── MessagesBundle_es.properties └── Templates └── Student.tmpl + +Environment +----------- + +In the environment tab of the task, you should select Docker as the environment type if you plan to do a coding question. + +If that is the case you should then select java8judge as the environment which is a special container with different global files useful for exercises (the program to launch the tests for example). +Those files will be used in your exercise, thus you do not need to think about those files. + +You must also precise the timeout limit and the memory limit in case of a 'malicious code' from a student. The other parameters are optional. + + +Subproblem +---------- + +You should enter a problem id and the problem type (code). Once you added this, you must enter a name for the question (Average xith 3 numbers for example), +a context to precise a specific detail, the language and then you can save the changes.