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,10 +1,14 @@
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):
subprocess.run([dcc.config.DSDA] + with tempfile.TemporaryDirectory() as td:
dcc.config.DsdaPreamble(parsed_args.wad, parsed_args.map) + with contextlib.chdir(td):
["-timedemo", dcc.config.DemoInPath(parsed_args.wad, parsed_args.map)] + subprocess.run([dcc.config.DSDA] +
["-viddump", dcc.config.VideoPath(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)] +
["-viddump", dcc.config.VideoPath(parsed_args.wad, parsed_args.map)])