
    @};d                        d dl mZmZmZmZ d dlZ ej                  d ej                                d dlm	Z	 d dl
Z
d dlmZ d dlmZ d dlmZ d dlmZ  G d	 d
e      Z G d dej                  ej*                        Zy)    )GObjectPeasRB	GdkPixbufN	rhythmboxAlbumArtPage)LastFMSearch)LocalSearch)MusicBrainzSearch)EmbeddedSearchc                       e Zd Zd Zd Zd Zy)Searchc                 X    || _         |j                         | _        || _        || _        y N)storecopykey	last_timesearches)selfr   r   r   r   s        B/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/artsearch/artsearch.py__init__zSearch.__init__)   s$    $*XXZ$($.$-    c                     t        | j                        dk(  r| j                  j                  d      }|t        j
                  j                  d|      }|j                  d| j                  j                  d             | j                  j                  |t        j                  j                  d        y| j                  j                  d      }|j                  | j                  | j                  | j                  | j                  d        y)Nr   albumartistFT)lenr   r   	get_fieldr   ExtDBKeycreate_storage	add_fieldr   ExtDBSourceTypeNONEpopsearchr   search_done)r   r   r   r&   s       r   next_searchzSearch.next_search/   s    188g&5
++
$
$We
4CMM(DHH..x89JJS",,1148
==Q&--$..$**d6F6FM	r   c                 $    | j                          y r   )r(   )r   argss     r   r'   zSearch.search_done<   s    r   N)__name__
__module____qualname__r   r(   r'    r   r   r   r   (   s    r   r   c                   h    e Zd Zd Z ej
                  ej                        Zd Zd Zd Z	d Z
d Zy)ArtSearchPlugin)typec                 B    t         j                   j                  |        y r   )r   r   )r   s    r   r   zArtSearchPlugin.__init__C   s    	//D!r   c                     t        j                  d      | _        | j                  j                  d| j                        | _        | j                  }|j                  d| j                        | _        y )Nz	album-art)namerequestcreate_song_info)	r   ExtDB	art_storeconnectalbum_art_requestedreq_idobjectr6   csi_idr   shells     r   do_activatezArtSearchPlugin.do_activateF   sR    88-$.&&y$2J2JK$+
++%0$2G2GH$+r   c                     | j                   j                  | j                         d| _        d | _         | j                  }|j                  | j                         d| _        y )Nr   )r8   
disconnectr;   r<   r=   r>   s     r   do_deactivatezArtSearchPlugin.do_deactivateM   sH    ..DKK($+$.
++%4;;$+r   c                 p   g }t         j                  r#|j                  t        j                                |j                  t	                      |j                  t                      |j                  t                      |j                  t                      t        ||||      }|j                         S r   )
oldcacheUSEFULappendOldCacheSearchr   r   r   r
   r   r(   )r   r   r   r   r   ss         r   r:   z#ArtSearchPlugin.album_art_requestedV   sz    (__??8**,-
//."#
//+- 
//#%&
//,.!UCH-!	
r   c                 &    |du rt        ||      }y y )NFr   )r   r?   	song_infois_multiplexs        r   r6   z ArtSearchPlugin.create_song_infob   s    EE9%1 r   N)r+   r,   r-   __gtype_name__r   propertyr<   r   r@   rC   r:   r6   r.   r   r   r0   r0   ?   s7    #
'


0"I
&r   r0   )gi.repositoryr   r   r   r   gettextinstall
locale_dirsonginfor	   rE   lastfmr
   localr   musicbrainzr   embeddedr   r<   r   Activatabler0   r.   r   r   <module>rZ      s^   6 7 6  ]R]]_ - !    ) #V .%&w(8(8 %&r   