File: //usr/lib/python3/dist-packages/keyring/backends/__pycache__/kwallet.cpython-38.pyc
U
ܦ�\� � @ s� d dl mZ d dlZd dlZddlmZ ddlmZ ddlmZm Z m
Z
ddlmZ zd dl
Z
d dlmZ W n& ek
r� Y n ek
r� Y nX G d d
� d
e�ZG dd� de�ZdS )
� )�absolute_importN� )�KeyringBackend)�PasswordDeleteError)�PasswordSetError� InitError�
KeyringLocked)�
properties)�
DBusGMainLoopc s| e Zd ZdZej�ejd �p dZ dZ
dZdZe
jedd� ��Z� fd d
�Zdd� Zd
d� Zdd� Zdd� Zdd� Z� ZS )�DBusKeyringz!
KDE KWallet 5 via D-Bus
r zPython keyring libraryNzorg.kde.kwalletd5z/modules/kwalletd5c
C s� dt � krtd��ztjt� d�}W n0 tjk
rT } zt|�� ��W 5 d }~X Y nX z|�| j| j � W n0 tjk
r� d}|j
| jd�}t|��Y nX dt�dd��
d �kr�d
S dS )N�dbuszpython-dbus not installed�Zmainloopzcannot connect to {bus_name})�bus_nameZKDEZXDG_CURRENT_DESKTOP� �:gffffff@g������@)�globals�RuntimeErrorr �
SessionBusr
�
DBusException�get_dbus_message�
get_objectr �object_path�format�os�getenv�split)�cls�bus�excZtmpl�msg� r �:/usr/lib/python3/dist-packages/keyring/backends/kwallet.py�priority s
zDBusKeyring.priorityc s t t| �j||� d| _d S )N���)�superr �__init__�handle)�self�arg�kw�� __class__r r! r% 2 s zDBusKeyring.__init__c C s� d}g }| j �| j|| j�r�| j �| j|d| j�}|�� D ]Z}|d }|d }|�dd�\}}| j �| j|||| j�}|dkr:| j �| j||| j� q:| j �| j|d| j�}|s�| j � | j|| j� d S )N�Pythonz*@*r � �@�*)
�ifaceZ hasFolderr&