
    @};d                     L   d dl mZ d dlmZ dZej
                  re	 d dlZ ej                  dd       d dl mZ ej                  j                  dej                  j                  dej                  j                  i      Ze ed	       dad
 Z G d de      Zy# e$ r Y "w xY w)    )Gio)rbconfigNSecret1)r   %org.gnome.rhythmbox.plugins.magnatunerhythmbox-pluginzZYou need to install libsecret and its introspection files to store your Magnatune passwordc                  .    t         
t               a t         S )N)
__instanceMagnatuneAccount     I/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/magnatune/MagnatuneAccount.pyinstancer   7   s    !*r   c                       e Zd Zd Zd Zd Zy)r   c                    t         j                  j                  d      | _        d | _        ddi| _        t        t        d       y t        j                  j                  t        j                  j                  d       | _        | j                  j                  t        | j
                  t        j                  j                   d       }|st        d       y |d   j#                         j%                         j'                  d      | _        y )Nr   r   	magnatunezAAccount details will not be saved because libsecret was not foundz'Couldn't find an existing keyring entryr   zutf-8)r   Settingsnewsettingssecretkeyring_attributesr   printServiceget_syncServiceFlagsOPEN_SESSIONsecret_servicesearch_syncMAGNATUNE_SCHEMASearchFlagsLOAD_SECRETS
get_secretgetdecode)selfitemss     r   __init__zMagnatuneAccount.__init__>   s    ,,""#JK$-$+/=$^
MN	//0C0C0P0PRVW$



)
)*:&&% 

34	a##%))+227;$+r   c                     | j                   y| j                  d   }	 | j                   j                  d      \  }}|||fS # t        $ r Y yw xY w)N)noneNNzaccount-type
)r   r   split
ValueError)r%   account_typeusernamepasswords       r   r#   zMagnatuneAccount.getQ   sZ    	[[
~.,++++D1Hh8
,,	 
s   "A 	AAc                    dj                  ||f      }|| j                  k(  rt        d       y || _        t        t        d       y t        j                  t
        | j                  t        j                  d|d       }|st        d       y y )Nr*   zAccount details not changedz>Account details were not saved because libsecret was not foundz(Rhythmbox: Magnatune account informationzCouldn't create keyring item!)joinr   r   r   password_store_syncr   r   COLLECTION_DEFAULT)r%   r.   r/   r   results        r   updatezMagnatuneAccount.update\   s    99h)*&t{{
'(	$+^
JK	%%&6  1t	&
 

)* 
r   N)__name__
__module____qualname__r'   r#   r5   r   r   r   r   r   =   s    <&	+r   r   )gi.repositoryr   rbr   r   libsecret_enabledgirequire_versionSchemar   SchemaFlagsDONT_MATCH_NAMESchemaAttributeTypeSTRINGr   ImportErrorr   r
   r   objectr   r   r   r   <module>rE      s   8  	"Xs#" ]]&&'N))F66==>@ 
>de
.+v .+ 	 s   A$B B#"B#