diff --git a/CMakeLists.txt b/CMakeLists.txt index 1820888..9e8070c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.16) if(DEFINED DEPENDENCIES_DIR) include(${DEPENDENCIES_DIR}/modorganizer_super/cmake_common/mo2.cmake) else() - include(${CMAKE_CURRENT_LIST_DIR}/cmake_common/mo2.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/../cmake_common/mo2.cmake) endif() project(basic_games LANGUAGES NONE) diff --git a/README.md b/README.md index 961ed8d..5e1abd2 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ You need to create a class that inherits `BasicGame` and put it in a `game_XX.py Below is an example for The Witcher 3 (see also [games/game_witcher3.py](games/game_witcher3.py)): ```python -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir from ..basic_game import BasicGame @@ -106,7 +106,7 @@ to the `version` method, see the table below). If you override the method, you d not have to provide the attribute: ```python -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir from ..basic_game import BasicGame import mobase diff --git a/basic_features/basic_save_game_info.py b/basic_features/basic_save_game_info.py index 103937c..33ad301 100644 --- a/basic_features/basic_save_game_info.py +++ b/basic_features/basic_save_game_info.py @@ -4,9 +4,9 @@ import sys from pathlib import Path from typing import Callable, List, Optional -from PyQt5.QtCore import QDateTime, Qt -from PyQt5.QtGui import QImage, QPixmap -from PyQt5.QtWidgets import QLabel, QVBoxLayout, QWidget +from PyQt6.QtCore import QDateTime, Qt +from PyQt6.QtGui import QImage, QPixmap +from PyQt6.QtWidgets import QLabel, QVBoxLayout, QWidget import mobase diff --git a/basic_game.py b/basic_game.py index 375af49..4ba63cc 100644 --- a/basic_game.py +++ b/basic_game.py @@ -5,8 +5,8 @@ import sys from pathlib import Path from typing import Callable, Dict, Generic, List, Optional, TypeVar, Union -from PyQt5.QtCore import QDir, QFileInfo, QStandardPaths -from PyQt5.QtGui import QIcon +from PyQt6.QtCore import QDir, QFileInfo, QStandardPaths +from PyQt6.QtGui import QIcon import mobase @@ -19,12 +19,12 @@ def replace_variables(value: str, game: "BasicGame") -> str: if value.find("%DOCUMENTS%") != -1: value = value.replace( "%DOCUMENTS%", - QStandardPaths.writableLocation(QStandardPaths.DocumentsLocation), + QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DocumentsLocation), ) if value.find("%USERPROFILE%") != -1: value = value.replace( "%USERPROFILE%", - QStandardPaths.writableLocation(QStandardPaths.HomeLocation), + QStandardPaths.writableLocation(QStandardPaths.StandardLocation.HomeLocation), ) if value.find("%GAME_DOCUMENTS%") != -1: value = value.replace( @@ -211,11 +211,11 @@ class BasicGameMappings: folders = [ "{}/My Games/{}".format( - QStandardPaths.writableLocation(QStandardPaths.DocumentsLocation), + QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DocumentsLocation), game.gameName(), ), "{}/{}".format( - QStandardPaths.writableLocation(QStandardPaths.DocumentsLocation), + QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DocumentsLocation), game.gameName(), ), ] @@ -501,10 +501,13 @@ class BasicGame(mobase.IPluginGame): def initializeProfile(self, path: QDir, settings: int): if settings & mobase.ProfileSetting.CONFIGURATION: for iniFile in self.iniFiles(): - shutil.copyfile( - self.documentsDirectory().absoluteFilePath(iniFile), - path.absoluteFilePath(QFileInfo(iniFile).fileName()), - ) + try: + shutil.copyfile( + self.documentsDirectory().absoluteFilePath(iniFile), + path.absoluteFilePath(QFileInfo(iniFile).fileName()), + ) + except FileNotFoundError: + Path(path.absoluteFilePath(QFileInfo(iniFile).fileName())).touch() def primarySources(self): return [] diff --git a/games/game_blackandwhite2.py b/games/game_blackandwhite2.py index c1e6b47..5e2de9a 100644 --- a/games/game_blackandwhite2.py +++ b/games/game_blackandwhite2.py @@ -7,8 +7,8 @@ import time from pathlib import Path from typing import List -from PyQt5.QtCore import QDir, QFileInfo, QFile, QDateTime, Qt -from PyQt5.QtGui import QPixmap, QPainter +from PyQt6.QtCore import QDir, QFileInfo, QFile, QDateTime, Qt +from PyQt6.QtGui import QPixmap, QPainter import mobase diff --git a/games/game_da2.py b/games/game_da2.py index b4954b4..c727415 100644 --- a/games/game_da2.py +++ b/games/game_da2.py @@ -1,4 +1,4 @@ -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir from ..basic_game import BasicGame import mobase diff --git a/games/game_darkestdungeon.py b/games/game_darkestdungeon.py index 2eb2dd1..e7a3239 100644 --- a/games/game_darkestdungeon.py +++ b/games/game_darkestdungeon.py @@ -3,7 +3,7 @@ import json from pathlib import Path from typing import List -from PyQt5.QtCore import QDir, QFileInfo, QStandardPaths +from PyQt6.QtCore import QDir, QFileInfo, QStandardPaths import mobase diff --git a/games/game_darkmessiahofmightandmagic.py b/games/game_darkmessiahofmightandmagic.py index bf25ae3..6b4071f 100644 --- a/games/game_darkmessiahofmightandmagic.py +++ b/games/game_darkmessiahofmightandmagic.py @@ -2,7 +2,7 @@ import struct -from PyQt5.QtGui import QImage +from PyQt6.QtGui import QImage import mobase diff --git a/games/game_dungeonsiege2.py b/games/game_dungeonsiege2.py index cbb48f6..e9fd4e6 100644 --- a/games/game_dungeonsiege2.py +++ b/games/game_dungeonsiege2.py @@ -2,7 +2,7 @@ from typing import List, Tuple -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo import mobase diff --git a/games/game_gta-3-de.py b/games/game_gta-3-de.py index 3267087..f00a940 100644 --- a/games/game_gta-3-de.py +++ b/games/game_gta-3-de.py @@ -1,7 +1,7 @@ import os from pathlib import Path -from PyQt5.QtCore import QDir, QFileInfo +from PyQt6.QtCore import QDir, QFileInfo import mobase diff --git a/games/game_gta-san-andreas-de.py b/games/game_gta-san-andreas-de.py index 3816f52..e368ab5 100644 --- a/games/game_gta-san-andreas-de.py +++ b/games/game_gta-san-andreas-de.py @@ -1,7 +1,7 @@ import os from pathlib import Path -from PyQt5.QtCore import QDir, QFileInfo +from PyQt6.QtCore import QDir, QFileInfo import mobase diff --git a/games/game_gta-vice-city-de.py b/games/game_gta-vice-city-de.py index 797eaef..33b7590 100644 --- a/games/game_gta-vice-city-de.py +++ b/games/game_gta-vice-city-de.py @@ -1,7 +1,7 @@ import os from pathlib import Path -from PyQt5.QtCore import QDir, QFileInfo +from PyQt6.QtCore import QDir, QFileInfo import mobase diff --git a/games/game_kingdomcomedeliverance.py b/games/game_kingdomcomedeliverance.py index 6487b6b..fbfd594 100644 --- a/games/game_kingdomcomedeliverance.py +++ b/games/game_kingdomcomedeliverance.py @@ -2,7 +2,7 @@ import os -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir from ..basic_game import BasicGame diff --git a/games/game_masterduel.py b/games/game_masterduel.py index cb7c381..803cede 100644 --- a/games/game_masterduel.py +++ b/games/game_masterduel.py @@ -1,6 +1,6 @@ # -*- encoding: utf-8 -*- -from PyQt5.QtCore import QFileInfo, QDir +from PyQt6.QtCore import QFileInfo, QDir from typing import List, Optional, cast from os.path import join, exists diff --git a/games/game_mountandblade2.py b/games/game_mountandblade2.py index fc8fd96..95aa8f6 100644 --- a/games/game_mountandblade2.py +++ b/games/game_mountandblade2.py @@ -2,7 +2,7 @@ from typing import List -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo import mobase diff --git a/games/game_msfs2020.py b/games/game_msfs2020.py index 028ae19..8be8538 100644 --- a/games/game_msfs2020.py +++ b/games/game_msfs2020.py @@ -1,7 +1,7 @@ import os import re -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir from ..basic_game import BasicGame diff --git a/games/game_nomanssky.py b/games/game_nomanssky.py index 66f9b8c..4e1781e 100644 --- a/games/game_nomanssky.py +++ b/games/game_nomanssky.py @@ -1,6 +1,6 @@ # -*- encoding: utf-8 -*- -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo import mobase diff --git a/games/game_stalkeranomaly.py b/games/game_stalkeranomaly.py index 19f688b..954970a 100644 --- a/games/game_stalkeranomaly.py +++ b/games/game_stalkeranomaly.py @@ -4,8 +4,8 @@ from pathlib import Path from typing import List from enum import IntEnum -from PyQt5.QtCore import Qt, QDir, QFileInfo -from PyQt5.QtWidgets import QLabel, QVBoxLayout, QWidget +from PyQt6.QtCore import Qt, QDir, QFileInfo +from PyQt6.QtWidgets import QLabel, QVBoxLayout, QWidget import mobase diff --git a/games/game_stardewvalley.py b/games/game_stardewvalley.py index a719fc6..058f91c 100644 --- a/games/game_stardewvalley.py +++ b/games/game_stardewvalley.py @@ -1,6 +1,6 @@ # -*- encoding: utf-8 -*- -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo import mobase diff --git a/games/game_starsector.py b/games/game_starsector.py index a886bf1..231aa25 100644 --- a/games/game_starsector.py +++ b/games/game_starsector.py @@ -2,7 +2,7 @@ from pathlib import Path from typing import List -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir import mobase diff --git a/games/game_starwars-empire-at-war-foc.py b/games/game_starwars-empire-at-war-foc.py index b93cd42..ec3ddce 100644 --- a/games/game_starwars-empire-at-war-foc.py +++ b/games/game_starwars-empire-at-war-foc.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- import mobase -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo from ..basic_game import BasicGame from typing import List diff --git a/games/game_starwars-empire-at-war.py b/games/game_starwars-empire-at-war.py index 86df664..bf8867d 100644 --- a/games/game_starwars-empire-at-war.py +++ b/games/game_starwars-empire-at-war.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- import mobase -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo from ..basic_game import BasicGame from typing import List diff --git a/games/game_trainsimulator.py b/games/game_trainsimulator.py index 358fdcb..44c369d 100644 --- a/games/game_trainsimulator.py +++ b/games/game_trainsimulator.py @@ -1,4 +1,4 @@ -from PyQt5.QtCore import QFileInfo +from PyQt6.QtCore import QFileInfo import mobase diff --git a/games/game_valheim.py b/games/game_valheim.py index e118495..c1db7a4 100644 --- a/games/game_valheim.py +++ b/games/game_valheim.py @@ -11,7 +11,7 @@ from dataclasses import dataclass, field, fields from pathlib import Path from typing import Optional, TextIO, Union -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir import mobase diff --git a/games/game_vampirebloodlines.py b/games/game_vampirebloodlines.py index a05c195..63870be 100644 --- a/games/game_vampirebloodlines.py +++ b/games/game_vampirebloodlines.py @@ -2,7 +2,7 @@ import os import mobase -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir from typing import List from pathlib import Path diff --git a/games/game_witcher1.py b/games/game_witcher1.py index 6fe5479..fdbada9 100644 --- a/games/game_witcher1.py +++ b/games/game_witcher1.py @@ -2,7 +2,7 @@ from typing import List from pathlib import Path -from PyQt5.QtCore import QFileInfo, QDir +from PyQt6.QtCore import QFileInfo, QDir import mobase diff --git a/games/game_witcher3.py b/games/game_witcher3.py index 781939a..f86fb9f 100644 --- a/games/game_witcher3.py +++ b/games/game_witcher3.py @@ -3,7 +3,7 @@ from pathlib import Path from typing import List -from PyQt5.QtCore import QDir +from PyQt6.QtCore import QDir import mobase diff --git a/plugin-requirements.txt b/plugin-requirements.txt index f6fc492..d3b1822 100644 --- a/plugin-requirements.txt +++ b/plugin-requirements.txt @@ -1,3 +1,3 @@ psutil==5.8.0 vdf==3.4 -lzokay==1.0 +lzokay==1.0.1 diff --git a/setup.cfg b/setup.cfg index 674d370..0ef1021 100644 --- a/setup.cfg +++ b/setup.cfg @@ -34,7 +34,7 @@ envlist = py38-lint [testenv:py38-lint] skip_install = true deps = - PyQt5-stubs + PyQt6-stubs mobase-stubs psutil==5.8.0 vdf==3.4