From 8d55dde8a953a5c9fee0812f0fbafaafbb0d9d29 Mon Sep 17 00:00:00 2001 From: Jeremy Rimpo Date: Sun, 27 Apr 2025 02:55:35 -0500 Subject: [PATCH] Fix detach parent if directory parent is root --- games/game_oblivion_remaster.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/games/game_oblivion_remaster.py b/games/game_oblivion_remaster.py index 52efde1..73b3a62 100644 --- a/games/game_oblivion_remaster.py +++ b/games/game_oblivion_remaster.py @@ -192,10 +192,13 @@ class OblivionRemasteredModDataChecker(mobase.ModDataChecker): return main_filetree def detach_parents(self, directory: mobase.IFileTree) -> None: - parent = directory.parent() if directory.parent().parent() is not None else directory - while parent.parent().parent() is not None: - parent = parent.parent() - parent.detach() + if directory.parent() is not None: + parent = directory.parent() if directory.parent().parent() is not None else directory + while parent.parent().parent() is not None: + parent = parent.parent() + parent.detach() + else: + directory.detach() class OblivionRemasteredGamePlugins(mobase.GamePlugins): @@ -405,8 +408,8 @@ class OblivionRemasteredGame(BasicGame, mobase.IPluginFileMapper): self._register_feature(OblivionRemasteredModDataChecker()) self._register_feature(OblivionRemasteredScriptExtender(self)) self.detectGame() - if self.paksDirectory().exists() and not self.paksDirectory().exists('~mods'): - self.paksDirectory().mkdir('~mods') + if not self.paksDirectory().exists(): + os.mkdir(self.paksDirectory().absolutePath()) if not self.obseDirectory().exists(): os.mkdir(self.obseDirectory().absolutePath()) return True