HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/keyring/backends/__pycache__/kwallet.cpython-38.pyc
U

ܦ�\��@s�ddlmZddlZddlZddlmZddlmZddlmZm	Z	m
Z
ddlmZzddl
Z
ddlmZWn&ek
r�Ynek
r�YnXGd	d
�d
e�ZGdd�de�ZdS)
�)�absolute_importN�)�KeyringBackend)�PasswordDeleteError)�PasswordSetError�	InitError�
KeyringLocked)�
properties)�
DBusGMainLoopcs|eZdZdZej�ejd�p dZ	dZ
dZdZe
jedd���Z�fd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Z�ZS)�DBusKeyringz!
    KDE KWallet 5 via D-Bus
    rzPython keyring libraryNzorg.kde.kwalletd5z/modules/kwalletd5c
Cs�dt�krtd��ztjt�d�}Wn0tjk
rT}zt|����W5d}~XYnXz|�|j|j	�Wn0tjk
r�d}|j
|jd�}t|��YnXdt�dd��
d	�kr�d
SdS)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�prioritys
zDBusKeyring.prioritycstt|�j||�d|_dS)N���)�superr�__init__�handle)�self�arg�kw��	__class__r r!r%2szDBusKeyring.__init__c	Cs�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�dS)N�Pythonz*@*r��@�*)
�ifaceZ	hasFolderr&�appidZreadPasswordList�items�rsplit�
writePassword�removeEntryZremoveFolder)	r'�serviceZ
old_folderZ
entry_list�entry�key�password�usernameZretr r r!�_migrate6sF����zDBusKeyring._migratec
Cs�|jdkr|j�|j�rdStjt�d�}d}z<|�|j|j�}t�	|d�|_|j�
|j��||j�|_Wn0tj
k
r�}ztd|��W5d}~XYnX|jdkr�dS|�|�dS)NrTr
zorg.kde.KWalletzFailed to open keyring: %s.F)r&r0ZisOpenrrr
rrrZ	Interface�openZ
networkWalletr1rrr;)r'r6rZwIdZ
remote_obj�er r r!�	connectedMs&
�


zDBusKeyring.connectedcCsJ|�|�std��|j�|j|||j�s,dS|j�|j|||j�}t|�S)z5Get password of the username for the service
        zFailed to unlock the keyring!N)r>rr0�hasEntryr&r1ZreadPassword�str�r'r6r:r9r r r!�get_passwordas
�zDBusKeyring.get_passwordcCs.|�|�std��|j�|j||||j�dS)z5Set password for the username of the service
        �Cancelled by userN)r>rr0r4r&r1rAr r r!�set_passwordms
�zDBusKeyring.set_passwordcCsJ|�|�std��|j�|j|||j�s0td��|j�|j|||j�dS)z=Delete the password for the username of the service.
        rCzPassword not foundN)r>rr0r?r&r1r5)r'r6r:r r r!�delete_passwordvs

zDBusKeyring.delete_password)�__name__�
__module__�__qualname__�__doc__r�path�basename�sys�argvr1Zwalletrrr	�
ClassProperty�classmethodr"r%r;r>rBrDrE�
__classcell__r r r*r!rs	rcs2eZdZdZdZdZeje�fdd���Z	�Z
S)�DBusKeyringKWallet4z!
    KDE KWallet 4 via D-Bus
    zorg.kde.kwalletdz/modules/kwalletdcstt|�jdS)Nr-)r$rQr")rr*r r!r"�szDBusKeyringKWallet4.priority)rFrGrHrIrrr	rNrOr"rPr r r*r!rQ�srQ)Z
__future__rrLrZbackendr�errorsrrrr�utilr	rZdbus.mainloop.glibr
�ImportError�AttributeErrorrrQr r r r!�<module>sl