From 805ea27f3e5c83908ccd932d258547fcfd6de989 Mon Sep 17 00:00:00 2001 From: yrriban Date: Tue, 22 Apr 2025 02:15:03 -0400 Subject: [PATCH] When fabricating, create a temporary directory for all the working files and then blow it away on completion. --- dcc/fabricate.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dcc/fabricate.py b/dcc/fabricate.py index bb3ba7e..0d1ae0a 100644 --- a/dcc/fabricate.py +++ b/dcc/fabricate.py @@ -1,10 +1,14 @@ +import contextlib import dcc.config import dcc.doom_base import subprocess +import tempfile class Fabricate(dcc.doom_base.WadMap): def take_action(self, parsed_args): - subprocess.run([dcc.config.DSDA] + - dcc.config.DsdaPreamble(parsed_args.wad, parsed_args.map) + - ["-timedemo", dcc.config.DemoInPath(parsed_args.wad, parsed_args.map)] + - ["-viddump", dcc.config.VideoPath(parsed_args.wad, parsed_args.map)]) + with tempfile.TemporaryDirectory() as td: + with contextlib.chdir(td): + subprocess.run([dcc.config.DSDA] + + dcc.config.DsdaPreamble(parsed_args.wad, parsed_args.map) + + ["-timedemo", dcc.config.DemoInPath(parsed_args.wad, parsed_args.map)] + + ["-viddump", dcc.config.VideoPath(parsed_args.wad, parsed_args.map)])