From de6e0a5a920b7023de797cb5ace2e843fb741e12 Mon Sep 17 00:00:00 2001 From: Chris Bessent Date: Fri, 27 Nov 2020 01:28:27 -0700 Subject: [PATCH] Move missing INI fix to KCD plugin instead --- basic_game.py | 12 ++++-------- games/game_kingdomcomedeliverance.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/basic_game.py b/basic_game.py index 52aa40b..af5364c 100644 --- a/basic_game.py +++ b/basic_game.py @@ -1,6 +1,5 @@ # -*- encoding: utf-8 -*- -import os import shutil from pathlib import Path @@ -436,13 +435,10 @@ class BasicGame(mobase.IPluginGame): def initializeProfile(self, path: QDir, settings: int): if settings & mobase.ProfileSetting.CONFIGURATION: for iniFile in self.iniFiles(): - inPath = self.documentsDirectory().absoluteFilePath(iniFile) - outPath = path.absoluteFilePath(QFileInfo(iniFile).fileName()) - if os.path.exists(inPath): - shutil.copyfile(inPath, outPath) - else: - with open(outPath, "w") as _: - pass + shutil.copyfile( + self.documentsDirectory().absoluteFilePath(iniFile), + path.absoluteFilePath(QFileInfo(iniFile).fileName()), + ) def primarySources(self): return [] diff --git a/games/game_kingdomcomedeliverance.py b/games/game_kingdomcomedeliverance.py index 9d92444..56220d6 100644 --- a/games/game_kingdomcomedeliverance.py +++ b/games/game_kingdomcomedeliverance.py @@ -2,6 +2,9 @@ from ..basic_game import BasicGame +import os +from PyQt5.QtCore import QDir + class KingdomComeDeliveranceGame(BasicGame): Name = "Kingdom Come Deliverance Support Plugin" @@ -22,3 +25,18 @@ class KingdomComeDeliveranceGame(BasicGame): def iniFiles(self): return ["custom.cfg", "system.cfg", "user.cfg"] + + def initializeProfile(self, path: QDir, settings: int): + # Create .cfg files if they don't exist + for iniFile in self.iniFiles(): + iniPath = self.documentsDirectory().absoluteFilePath(iniFile) + if not os.path.exists(iniPath): + with open(iniPath, "w") as _: + pass + + # Create the mods directory if it doesn't exist + modsPath = self.dataDirectory().absolutePath() + if not os.path.exists(modsPath): + os.mkdir(modsPath) + + super(KingdomComeDeliveranceGame, self).initializeProfile(path, settings)