When fabricating, create a temporary directory for all the working files and then blow it away on completion.

This commit is contained in:
yrriban 2025-04-22 02:15:03 -04:00
parent c95c14d747
commit 805ea27f3e

View file

@ -1,9 +1,13 @@
import contextlib
import dcc.config import dcc.config
import dcc.doom_base import dcc.doom_base
import subprocess import subprocess
import tempfile
class Fabricate(dcc.doom_base.WadMap): class Fabricate(dcc.doom_base.WadMap):
def take_action(self, parsed_args): def take_action(self, parsed_args):
with tempfile.TemporaryDirectory() as td:
with contextlib.chdir(td):
subprocess.run([dcc.config.DSDA] + subprocess.run([dcc.config.DSDA] +
dcc.config.DsdaPreamble(parsed_args.wad, parsed_args.map) + dcc.config.DsdaPreamble(parsed_args.wad, parsed_args.map) +
["-timedemo", dcc.config.DemoInPath(parsed_args.wad, parsed_args.map)] + ["-timedemo", dcc.config.DemoInPath(parsed_args.wad, parsed_args.map)] +