summaryrefslogtreecommitdiffstats
path: root/Smarker
diff options
context:
space:
mode:
authorjwansek <eddie.atten.ea29@gmail.com>2022-04-26 20:10:36 +0100
committerjwansek <eddie.atten.ea29@gmail.com>2022-04-26 20:10:36 +0100
commit24dbd9f360be1a533bb33e2506a88fd9af85eac2 (patch)
tree029f1c957eab61c4dca4507342a606d9e4fac9c0 /Smarker
parent1330ff9c1a8891913b5ef58cdfe64f8fd3751c75 (diff)
downloadSmarker-24dbd9f360be1a533bb33e2506a88fd9af85eac2.tar.gz
Smarker-24dbd9f360be1a533bb33e2506a88fd9af85eac2.zip
Added installing dependencies in docker images, and fixed docker images
Diffstat (limited to 'Smarker')
-rw-r--r--Smarker/misc_classes.py1
-rw-r--r--Smarker/smarker.py10
2 files changed, 9 insertions, 2 deletions
diff --git a/Smarker/misc_classes.py b/Smarker/misc_classes.py
index 17ad36a..7ab37de 100644
--- a/Smarker/misc_classes.py
+++ b/Smarker/misc_classes.py
@@ -20,6 +20,7 @@ latex_jinja_env = jinja2.Environment(
loader = jinja2.FileSystemLoader(os.path.abspath(os.path.join(os.path.split(__file__)[0], "templates")))
)
+# https://stackoverflow.com/questions/10551117/setting-options-from-environment-variables-when-using-argparse
class EnvDefault(argparse.Action):
def __init__(self, envvar, required=True, default=None, **kwargs):
if not default and envvar:
diff --git a/Smarker/smarker.py b/Smarker/smarker.py
index 106d426..46feb5f 100644
--- a/Smarker/smarker.py
+++ b/Smarker/smarker.py
@@ -72,7 +72,7 @@ if __name__ == "__main__":
action = misc_classes.EnvDefault,
envvar = "assessment",
help = "Path to an assessment .yml file",
- type = os.path.abspath,
+ # type = os.path.abspath,
required = True
)
parser.add_argument(
@@ -80,7 +80,7 @@ if __name__ == "__main__":
action = misc_classes.EnvDefault,
envvar = "submission",
help = "Path to a zip of a student's code",
- type = os.path.abspath,
+ # type = os.path.abspath,
required = True
)
parser.add_argument(
@@ -110,6 +110,12 @@ if __name__ == "__main__":
help = "Optional argument inherited from config file. Read smarker.conf for details."
)
+ try:
+ for dependency in os.environ["SMARKERDEPS"].split(","):
+ subprocess.run(["pip", "install", dependency])
+ except KeyError:
+ pass
+
args = vars(parser.parse_args())
main(**args)
\ No newline at end of file