Skip to content

Commit 4a31149

Browse files
pathlib -> os.path
1 parent c971a4b commit 4a31149

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

tin/apps/submissions/tasks.py

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from __future__ import annotations
22

3+
import contextlib
34
import logging
45
import os
56
import re
@@ -42,12 +43,12 @@ def run_submission(submission_id):
4243
)
4344
submission_path = submission.file_path
4445

45-
submission_wrapper_path = Path(submission.wrapper_file_path)
46+
submission_wrapper_path = submission.wrapper_file_path
4647

4748
args = get_assignment_sandbox_args(
48-
["mkdir", "-p", "--", str(submission_wrapper_path.parent)],
49+
["mkdir", "-p", "--", os.path.dirname(submission_wrapper_path)],
4950
network_access=False,
50-
whitelist=[str(submission_wrapper_path.parent.parent)],
51+
whitelist=[os.path.dirname(os.path.dirname(submission_wrapper_path))],
5152
)
5253

5354
try:
@@ -100,8 +101,9 @@ def run_submission(submission_id):
100101
python=python_exe,
101102
)
102103

103-
submission_wrapper_path.write_text(wrapper_text, "utf-8")
104-
submission_wrapper_path.chmod(0o700)
104+
with open(submission_wrapper_path, "w", encoding="utf-8") as f:
105+
f.write(wrapper_text)
106+
os.chmod(submission_wrapper_path, 0o700)
105107
except OSError:
106108
submission.grader_output = (
107109
"An internal error occurred. Please try again.\n"
@@ -129,15 +131,15 @@ def run_submission(submission_id):
129131
python_exe,
130132
"-u",
131133
grader_path,
132-
str(submission_wrapper_path),
134+
submission_wrapper_path,
133135
submission_path,
134136
submission.student.username,
135137
grader_log_path,
136138
]
137139

138140
if settings.USE_SANDBOXING:
139141
whitelist = [os.path.dirname(grader_path)]
140-
read_only = [grader_path, submission_path, str(submission_wrapper_path.parent)]
142+
read_only = [grader_path, submission_path, os.path.dirname(submission_wrapper_path)]
141143
if submission.assignment.venv_fully_created:
142144
whitelist.append(submission.assignment.venv.path)
143145
read_only.append(submission.assignment.venv.path)
@@ -278,4 +280,5 @@ def run_submission(submission_id):
278280
submission.channel_group_name, {"type": "submission.updated"}
279281
)
280282

281-
submission_wrapper_path.unlink(missing_ok=True)
283+
with contextlib.suppress(FileNotFoundError):
284+
os.unlink(submission_wrapper_path)

0 commit comments

Comments
 (0)