
    @};d                      F    d dl Z d dlZd dlZd dlZd dlmZ  G d de      Zy)    N)minidomc                   $    e Zd Zd Zd Zd Zd Zy)WinampcnParserc                      || _         || _        y )N)artisttitle)selfr   r   s      D/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/WinampcnParser.py__init__zWinampcnParser.__init__"   s    $+$*    c                    t         j                  j                  | j                  j	                  dd      j                  d            }t         j                  j                  | j                  j	                  dd      j                  d            }d|d|d|d}t        j                         } |j                  || j                  |g|  y )N  gbkz4http://www.winampcn.com/lyrictransfer/get.aspx?song=z&artist=z&lsong=z&Datetime=20060601)urllibparsequoter   replaceencoder   rbLoaderget_url
got_lyrics)r	   callbackdatatitle_encodeartist_encodeurlloaders          r
   searchzWinampcnParser.search&   s     ##DJJ$6$6sB$?$F$Fu$MN,,,$$T[[%8%8b%A%H%H%OP-iu  xE  GS  	T#99;&&..#t848r   c                    |t        d        |d g|  y |j                  d      }	 |j                  dd      }t        j                  |      }|j
                  }|j                  d      d   j                  d   j                  }|t        d        ||g|  y |j                  dd	      }t        d
|z         t        j                         } |j                  || j                  |g|  y #   |d g|  Y y xY w)Nzno responser   zencoding="gb2312"zencoding="UTF-8"LyricUrlr   zno lyric urlsz%3A:zurl: %s)printdecoder   r   parseStringdocumentElementgetElementsByTagName
childNodesr   r   r   r   parse_lyrics)r	   xmltextr   r   xmldocrootlrcurlr   s           r
   r   zWinampcnParser.got_lyrics0   s    _TD	NN5!'__02DE7(6

 
 4%%j1!4??BGG6n	/g
 NN5#&6V	IIK66>>64,,h>>TDs   A4C3 AC3 3D c                     |t        d        |d g|  y |j                  d      }	 t        j                  dd|      }|dz  } ||g|  y #  t        d        |d g|  Y y xY w)Nz	no lyricsr   z\[.*?\]r   zunable to decode lyricsz!

Lyrics provided by winampcn.com)r$   r%   resub)r	   lyricsr   r   lrcplaintexts        r
   r*   zWinampcnParser.parse_lyricsM   s    ^TD	 u%,
&&B5< 77,
<$
	"#TD	s   A A(N)__name__
__module____qualname__r   r    r   r*    r   r
   r   r   !   s    9: r   r   )	sysurllib.parser   r0   r   xml.domr   objectr   r7   r   r
   <module>r<      s"   6   	 	 = V = r   