38 lines
798 B
Python
38 lines
798 B
Python
import os
|
|
import subprocess
|
|
|
|
from . import util
|
|
|
|
GZDOOM_PATHS = []
|
|
SLADE_PATHS = []
|
|
GZDOOM_PROJECT = "iwadinfo.txt"
|
|
|
|
class Project():
|
|
def __init__(self, path):
|
|
self.path = path
|
|
|
|
def run(self):
|
|
subprocess.run([find_gzdoom_command(), "-iwad", "."], cwd=self.path)
|
|
|
|
def edit(self):
|
|
subprocess.run([find_slade_command(), "."], cwd=self.path)
|
|
|
|
def find_gzdoom_command():
|
|
for exe in GZDOOM_PATHS:
|
|
if os.path.exists(exe):
|
|
return exe
|
|
|
|
return "gzdoom"
|
|
|
|
def find_slade_command():
|
|
for exe in SLADE_PATHS:
|
|
if os.path.exists(exe):
|
|
return exe
|
|
|
|
return "slade"
|
|
|
|
def find_project(path):
|
|
path = util.find_nearest(path, lambda entry: entry.lower() == GZDOOM_PROJECT)
|
|
if path is not None:
|
|
return Project(path)
|