mirror of
https://github.com/leminlimez/Nugget.git
synced 2025-04-08 04:23:05 +08:00
improved error messages
This commit is contained in:
@@ -16,14 +16,29 @@ from tweaks.custom_gestalt_tweaks import CustomGestaltTweaks
|
|||||||
from tweaks.basic_plist_locations import FileLocationsList
|
from tweaks.basic_plist_locations import FileLocationsList
|
||||||
from Sparserestore.restore import restore_files, FileToRestore
|
from Sparserestore.restore import restore_files, FileToRestore
|
||||||
|
|
||||||
def show_error_msg(txt: str):
|
def show_error_msg(txt: str, detailed_txt: str = None):
|
||||||
detailsBox = QMessageBox()
|
detailsBox = QMessageBox()
|
||||||
detailsBox.setIcon(QMessageBox.Critical)
|
detailsBox.setIcon(QMessageBox.Critical)
|
||||||
detailsBox.setWindowTitle("Error!")
|
detailsBox.setWindowTitle("Error!")
|
||||||
detailsBox.setText(txt)
|
detailsBox.setText(txt)
|
||||||
detailsBox.setDetailedText(str(traceback.format_exc()))
|
if detailed_txt != None:
|
||||||
|
detailsBox.setDetailedText(detailed_txt)
|
||||||
detailsBox.exec()
|
detailsBox.exec()
|
||||||
|
|
||||||
|
def show_apply_error(e: Exception, update_label=lambda x: None):
|
||||||
|
if "Find My" in str(e):
|
||||||
|
show_error_msg("Find My must be disabled in order to use this tool.",
|
||||||
|
detailed_txt="Disable Find My from Settings (Settings -> [Your Name] -> Find My) and then try again.")
|
||||||
|
elif "SessionInactive" in str(e):
|
||||||
|
show_error_msg("The session was terminated. Refresh the device list and try again.")
|
||||||
|
elif "Password" in str(e):
|
||||||
|
show_error_msg("Device is password protected! You must trust the computer on your device.",
|
||||||
|
detailed_txt="Unlock your device. On the popup, click \"Trust\", enter your password, then try again.")
|
||||||
|
else:
|
||||||
|
show_error_msg(type(e).__name__ + ": " + repr(e), detailed_txt=str(traceback.format_exc()))
|
||||||
|
print(traceback.format_exc())
|
||||||
|
update_label("Failed to restore")
|
||||||
|
|
||||||
class DeviceManager:
|
class DeviceManager:
|
||||||
## Class Functions
|
## Class Functions
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -50,7 +65,7 @@ class DeviceManager:
|
|||||||
|
|
||||||
If you are on Windows, make sure you have the \"Apple Devices\" app from the Microsoft Store or iTunes from Apple's website.
|
If you are on Windows, make sure you have the \"Apple Devices\" app from the Microsoft Store or iTunes from Apple's website.
|
||||||
If you are on Linux, make sure you have usbmuxd and libimobiledevice installed.
|
If you are on Linux, make sure you have usbmuxd and libimobiledevice installed.
|
||||||
"""
|
""", detailed_txt=str(traceback.format_exc())
|
||||||
)
|
)
|
||||||
self.set_current_device(index=None)
|
self.set_current_device(index=None)
|
||||||
return
|
return
|
||||||
@@ -99,7 +114,7 @@ class DeviceManager:
|
|||||||
self.devices.append(dev)
|
self.devices.append(dev)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"ERROR with lockdown device with UUID {device.serial}")
|
print(f"ERROR with lockdown device with UUID {device.serial}")
|
||||||
show_error_msg(type(e).__name__ + ": " + repr(e))
|
show_error_msg(type(e).__name__ + ": " + repr(e), detailed_txt=str(traceback.format_exc()))
|
||||||
connected_devices.remove(device)
|
connected_devices.remove(device)
|
||||||
else:
|
else:
|
||||||
connected_devices.remove(device)
|
connected_devices.remove(device)
|
||||||
@@ -342,23 +357,7 @@ class DeviceManager:
|
|||||||
QMessageBox.information(None, "Success!", "All done! " + msg)
|
QMessageBox.information(None, "Success!", "All done! " + msg)
|
||||||
update_label("Success!")
|
update_label("Success!")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if "Find My" in str(e):
|
show_apply_error(e, update_label)
|
||||||
detailsBox = QMessageBox()
|
|
||||||
detailsBox.setIcon(QMessageBox.Critical)
|
|
||||||
detailsBox.setWindowTitle("Error!")
|
|
||||||
detailsBox.setText("Find My must be disabled in order to use this tool.")
|
|
||||||
detailsBox.setDetailedText("Disable Find My from Settings (Settings -> [Your Name] -> Find My) and then try again.")
|
|
||||||
detailsBox.exec()
|
|
||||||
elif "SessionInactive" in str(e):
|
|
||||||
detailsBox = QMessageBox()
|
|
||||||
detailsBox.setIcon(QMessageBox.Critical)
|
|
||||||
detailsBox.setWindowTitle("Error!")
|
|
||||||
detailsBox.setText("The session was terminated. Refresh the device list and try again.")
|
|
||||||
detailsBox.exec()
|
|
||||||
else:
|
|
||||||
print(traceback.format_exc())
|
|
||||||
update_label("Failed to restore")
|
|
||||||
show_error_msg(type(e).__name__ + ": " + repr(e))
|
|
||||||
|
|
||||||
## RESETTING MOBILE GESTALT
|
## RESETTING MOBILE GESTALT
|
||||||
def reset_mobilegestalt(self, settings: QSettings, update_label=lambda x: None):
|
def reset_mobilegestalt(self, settings: QSettings, update_label=lambda x: None):
|
||||||
@@ -381,14 +380,4 @@ class DeviceManager:
|
|||||||
QMessageBox.information(None, "Success!", "All done! " + msg)
|
QMessageBox.information(None, "Success!", "All done! " + msg)
|
||||||
update_label("Success!")
|
update_label("Success!")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if "Find My" in str(e):
|
show_apply_error(e)
|
||||||
detailsBox = QMessageBox()
|
|
||||||
detailsBox.setIcon(QMessageBox.Critical)
|
|
||||||
detailsBox.setWindowTitle("Error!")
|
|
||||||
detailsBox.setText("Find My must be disabled in order to use this tool.")
|
|
||||||
detailsBox.setDetailedText("Disable Find My from Settings (Settings -> [Your Name] -> Find My) and then try again.")
|
|
||||||
detailsBox.exec()
|
|
||||||
else:
|
|
||||||
print(traceback.format_exc())
|
|
||||||
update_label("Failed to restore")
|
|
||||||
show_error_msg(type(e).__name__ + ": " + repr(e))
|
|
||||||
|
|||||||
Reference in New Issue
Block a user