Skip to content

Fix keyring support

nvllsvm requested to merge nvllsvm/Komikku:keyring_fix into main

This MR fixes a crash I'm getting on Arch Linux with python-keyring 24.2.0-1.

DB version 12
Error: An unhandled exception occurs
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/komikku/application.py", line 128, in do_command_line
    self.do_activate()
  File "/usr/lib/python3.11/site-packages/komikku/application.py", line 123, in do_activate
    self.window = ApplicationWindow(application=self, title='Komikku', icon_name=self.application_id)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/komikku/application.py", line 278, in __init__
    self.assemble_window()
  File "/usr/lib/python3.11/site-packages/komikku/application.py", line 390, in assemble_window
    self.preferences = Preferences(self)
                       ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/komikku/preferences.py", line 80, in __init__
    self.set_config_values()
  File "/usr/lib/python3.11/site-packages/komikku/preferences.py", line 346, in set_config_values
    self.servers_settings_subpage = PreferencesServersSettingsSubpage(self)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/komikku/preferences.py", line 492, in __init__
    self.keyring_helper = KeyringHelper()
                          ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/komikku/models/keyring.py", line 46, in __init__
    if not self.is_disabled or not self.has_recommended_backend:
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/komikku/models/keyring.py", line 56, in is_disabled
    return hasattr(keyring.backends, 'null') and isinstance(self.keyring, keyring.backends.null.Keyring)
                                                            ^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/komikku/models/keyring.py", line 62, in keyring
    if isinstance(current_keyring_backend, keyring.backends.chainer.ChainerBackend):
                                           ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'keyring.backends' has no attribute 'chainer'

Merge request reports