Skip to content

Allow scheme to be selectable in libsecret and SecretService backends - #586

Merged
jaraco merged 10 commits into
mainfrom
feature/secretservice-scheme
Aug 7, 2022
Merged

jaraco merged 10 commits into
mainfrom
feature/secretservice-scheme

Conversation

@jaraco

@jaraco jaraco commented Aug 5, 2022

Copy link
Copy Markdown
Owner
  • Add support for a scheme property in SecretService backend. Set to 'KeypassXC' to use the username/system convention from KeypassXC, either with KEYRING_PROPERTY_SCHEME or keyring.with_properties(scheme='KeypassXC'). Fixes Using python-keyring with KeePassXC #448.
  • Add test for with_properties helper.
  • Re-use with_properties in with_keychain.
  • Deprecate macOS.Keyring.with_keychain, superseded by with_properties.
  • Extract SchemeSelectable mixin
  • Allow _query to include other keys
  • Add SelectableScheme to libsecret.
  • Add tests for SchemeSelectable.

@jaraco
jaraco requested a review from mitya57 August 5, 2022 01:08
Comment thread keyring/backend.py Outdated
scheme = 'default'
schemes = dict(
default=dict(username='username', service='service'),
KeypassXC=dict(username='UserName', service='Title'),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be KeePassXC (with e instead of y):

https://keepassxc.org/

Please update it in all other places too.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in d35fc44.

@jaraco
jaraco merged commit 0ed196d into main Aug 7, 2022
@jaraco
jaraco deleted the feature/secretservice-scheme branch August 7, 2022 16:04
@jaraco

jaraco commented Aug 7, 2022

Copy link
Copy Markdown
Owner Author

Released as 23.8.0.

@mitya57

mitya57 commented Aug 7, 2022

Copy link
Copy Markdown
Collaborator

I am sorry for not testing it earlier, but libsecret backend does not work :(

Submitted #587.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Using python-keyring with KeePassXC

2 participants