diff --git a/gui/main_window.py b/gui/main_window.py index 7c90689..48ad413 100644 --- a/gui/main_window.py +++ b/gui/main_window.py @@ -19,8 +19,8 @@ from tweaks.tweaks import tweaks from tweaks.custom_gestalt_tweaks import CustomGestaltTweaks, ValueTypeStrings from tweaks.daemons_tweak import Daemon -App_Version = "5.0.2" -App_Build = 0 +App_Version = "5.0.3" +App_Build = 1 class Page(Enum): Home = 0 diff --git a/requirements.txt b/requirements.txt index d8a73dd..ea89fba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ pymobiledevice3 PySide6-Essentials PyInstaller +rarfile \ No newline at end of file diff --git a/tweaks/posterboard_tweak.py b/tweaks/posterboard_tweak.py index 388e355..d33961b 100644 --- a/tweaks/posterboard_tweak.py +++ b/tweaks/posterboard_tweak.py @@ -1,5 +1,6 @@ import os import zipfile +import rarfile import uuid import re from random import randint @@ -182,7 +183,16 @@ class PosterboardTweak(Tweak): for tendie in self.tendies: zip_output = os.path.join(output_dir, str(uuid.uuid4())) os.makedirs(zip_output) - with zipfile.ZipFile(tendie.path, 'r') as zip_ref: - zip_ref.extractall(zip_output) + if os == 'nt': + rar_archive = rarfile.RarFile(tendie.path) + try: + # Extract the contents to the target directory + rar_archive.extractall(path=zip_output) + finally: + # Close the RAR file to release resources + rar_archive.close() + else: + with zipfile.ZipFile(tendie.path, 'r') as zip_ref: + zip_ref.extractall(zip_output) # add the files self.recursive_add(files_to_restore, curr_path=output_dir)