
    @};d                     v    d dl Zd dlZd dlZd dlZd dlmZ  ej                  d      Zd Z	d Z
 G d de      Zy)    N)name2codepointz
&(#?\w+?);c                 L   | j                  d      }|d   dk(  r3|dd  }	 |d   dv rt        |dd  d      }nt        |      }t        |      S 	 t        t        |         S # t        $ r | j                  d      cY S w xY w# t        t
        f$ r | j                  d      cY S w xY w)N   r   #xX   )groupintchr
ValueErrorr   KeyError)matchtextcs      A/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/TerraParser.py_replace_entityr   )   s    AGtO	ab$
1gDHbAD	A
a&=
nT"
##	 
 
++a.
 h	 
++a.s#   ,A  B   A=<A=  B#"B#c                 6    t         j                  t        |       S N)patternsubr   )r   s    r   unescape_entitiesr   ;   s    OT**    c                   $    e Zd Zd Zd Zd Zd Zy)TerraParserc                      || _         || _        y r   )artisttitle)selfr   r   s      r   __init__zTerraParser.__init__?   s    $+$*r   c                    d}t         j                  j                  | j                        }t         j                  j                  | j                        }t         j                  j                  d      }d|||}t        d|z          t        j                         } |j                  ||z   | j                  |g|  y )Nzhttp://letras.mus.br/ - zwinamp.php?t=zsearch URL: )
urllibparsequoter   r   printrbLoaderget_url
got_lyrics)	r   callbackdatapathr   r   joinwurlloaders	            r   searchzTerraParser.searchC   s    	 $<<dkk*&
,,

TZZ
(%			E	"$"($	6$99;&&..$+t@4@r   c                    |
 |d g|  y |u|j                  d      }t        j                  d|      rt        d        |d g|  y t        j                  d|      r || j	                  |      g|  y  |d g|  y  |d g|  y )Nzutf-8z#M&uacute;sica n&atilde;o encontradaz	not found<div id="letra">)decoderer0   r%   parse_lyrics)r   resultr*   r+   s       r   r)   zTerraParser.got_lyricsP   s    ^TD	MM'"6ii5v>	+dT
		$f-Tv&..dTTDr   c                 j   d }d }t        j                  d|      d   }t        j                  d|      }dj                  |d   j                               }t        j                  d|      } | |dj                  |                  }t        |      d	z   t         ||d
               z   }|dz  }|S )Nc                 @    dj                  | j                               S )N )r-   splitxs    r   unspacez)TerraParser.parse_lyrics.<locals>.unspacec   s    
((1779
r   c                 0    t        j                  dd|       S )Nz<.*?>
)r4   r   r;   s    r   untagz'TerraParser.parse_lyrics.<locals>.untage   s    
&&$
""r   r2   r   z
</?div.*?> z<h.>(.*?)</h.>r!   r?      z?

Esta letra foi disponibilizada pelo site
http://letras.mus.br)r4   r:   r-   
splitlinesfindallr   )r   sourcer=   r@   headerbits
artistitlelyricss           r   r5   zTerraParser.parse_lyricsb   s    # 88&/2&88L&)& 776!9'')*&	$f	-$uUZZ-./*Z(4/2CE&QR)DT2UU&PP&	-r   N)__name__
__module____qualname__r   r0   r)   r5    r   r   r   r   >   s    A$r   r   )urllib.parser"   r&   r4   syshtml.entitiesr   compiler   r   r   objectr   rM   r   r   <module>rS      s>   :  	 	 

 )
"**\
"$+66 6r   