Skip to content

TypeError: replace() argument 2 must be str, not None #177

@laur89

Description

@laur89

Running keepmenu prompts rofi window for password, after which program fails with TypeError:

$ keepmenu

# <passwd is prompted & entered via rofi>

Process DmenuRunner-2:
Traceback (most recent call last):
  File "/usr/lib/python3.13/multiprocessing/process.py", line 313, in _bootstrap
    self.run()
    ~~~~~~~~^^
  File "/data/.local/share/pipx/venvs/keepmenu/lib/python3.13/site-packages/keepmenu/keepmenu.py", line 333, in run
    self.dmenu_run(self.server.totp_flag.is_set())
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/.local/share/pipx/venvs/keepmenu/lib/python3.13/site-packages/keepmenu/keepmenu.py", line 400, in dmenu_run
    sel = view_all_entries(list(options), filtered_entries, self.database.dbase)
  File "/data/.local/share/pipx/venvs/keepmenu/lib/python3.13/site-packages/keepmenu/view.py", line 24, in view_all_entries
    i.deref('username'),
    ~~~~~~~^^^^^^^^^^^^
  File "/data/.local/share/pipx/venvs/keepmenu/lib/python3.13/site-packages/pykeepass/entry.py", line 188, in deref
    return self._kp.deref(getattr(self, attribute))
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/.local/share/pipx/venvs/keepmenu/lib/python3.13/site-packages/pykeepass/pykeepass.py", line 910, in deref
    value = value.replace(ref, getattr(ref_entry, wanted_field))
TypeError: replace() argument 2 must be str, not None

<note process hangs, have to ctrl+c out of it>

Config, commented out lines removed:

[dmenu]
dmenu_command = rofi -dmenu -width 30 -password -i

[dmenu_passphrase]

[database]
database_1 = /data/path/to/my/passwords_file.kdbx

[password_chars]

[password_char_presets]

keepmenu installed via pipx, running debian testing, py 3.13.9
python3-pykeepass & python3-pynput packages are installed via apt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions