From 41a2bf4250c4a2595acddf953afc6eac1aeaa8ac Mon Sep 17 00:00:00 2001 From: dewitweb <13225402+dewitweb@users.noreply.github.com> Date: Sat, 27 Dec 2025 14:42:16 +0100 Subject: [PATCH] Update config.py class ConfgWidget to accomodate changes in calibres API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit What caused the error? Calibre tried to open the plugin’s configuration dialog by calling: config.ConfigWidget(self.plugin_path, self.alfdir) That means Calibre passed two arguments (besides self): plugin_path alfdir But in the original plugin code, the ConfigWidget class was defined like this: def __init__(self, plugin_path): QWidget.__init__(self) This constructor only accepted one argument (plugin_path). When Calibre passed two, Python raised: TypeError: ConfigWidget.__init__() takes 2 positional arguments but 3 were given --- DeDRM_plugin/config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/DeDRM_plugin/config.py b/DeDRM_plugin/config.py index 19b40fda..edb07446 100755 --- a/DeDRM_plugin/config.py +++ b/DeDRM_plugin/config.py @@ -70,9 +70,13 @@ def checkForDeACSMkeys(): return None, None + class ConfigWidget(QWidget): def __init__(self, plugin_path, alfdir): - QWidget.__init__(self) + super().__init__() + self.plugin_path = plugin_path + self.alfdir = alfdir + self.plugin_path = plugin_path self.alfdir = alfdir