View Single Post
Old 06-03-2023, 05:04 AM   #1109
Philantrop
Addict
Philantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beautyPhilantrop does all things with Zen-like beauty
 
Philantrop's Avatar
 
Posts: 296
Karma: 32153
Join Date: Dec 2008
Device: Kindles (e-ink)
AttributeError using 1.18.7 in Calibre 6.19.1, action type "Calibre Actions"

Using version 1.18.7 I get an error when I try to add or modify an action type "Calibre Actions" and try calling its settings:

Code:
calibre, version 6.19.1
ERROR: Unhandled exception: <b>AttributeError</b>:'int' object has no attribute 'replace'

calibre 6.19.1  embedded-python: True
Linux-6.3.3-200.fc38.x86_64-x86_64-with-glibc2.37 Linux ('64bit', 'ELF')
('Linux', '6.3.3-200.fc38.x86_64', '#1 SMP PREEMPT_DYNAMIC Wed May 17 14:31:24 UTC 2023')
Python 3.10.1
Interface language: en_GB
Successfully initialized third party plugins: [...]

Traceback (most recent call last):
  File "calibre_plugins.action_chains.gui.__init__", line 46, in setup_ui
    self.widget = self.widget_cls(self.plugin_action, self.chain_name, self.chains_config)
TypeError: CalibreActionsWidget.__init__() takes 2 positional arguments but 4 were given

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "calibre_plugins.action_chains.gui.views", line 430, in _on_button_clicked
    d = SettingsWidgetDialog(name, self, self.plugin_action, config_widget, action, m.chain_name, m.chains_config, title)
  File "calibre_plugins.action_chains.gui.__init__", line 41, in __init__
    Dialog.__init__(self, title, name, parent)
  File "calibre/gui2/widgets2.py", line 225, in __init__
  File "calibre_plugins.action_chains.gui.__init__", line 51, in setup_ui
    self.widget = self.widget_cls(self.plugin_action)
  File "calibre_plugins.action_chains.actions.calibre_actions", line 162, in __init__
    self._init_controls()
  File "calibre_plugins.action_chains.actions.calibre_actions", line 197, in _init_controls
    self._populate_actions_tree(lookup_menu_map)
  File "calibre_plugins.action_chains.actions.calibre_actions", line 287, in _populate_actions_tree
    self._populate_action_children(QMenu.actions(m), tl,
  File "calibre_plugins.action_chains.actions.calibre_actions", line 307, in _populate_action_children
    text = get_title(ac, plugin_name)
  File "calibre_plugins.action_chains.actions.calibre_actions", line 74, in get_title
    safe_title = get_safe_title(action)
  File "calibre_plugins.action_chains.actions.calibre_actions", line 68, in get_safe_title
    return text.replace('&&', '—').replace('&', '').replace('—', '&')
AttributeError: 'int' object has no attribute 'replace'
Philantrop is offline   Reply With Quote