The branch, dharma has been updated
       via  9e882ed965badd19eccfbb5d388465bd8cfdfeaa (commit)
      from  d10e1c453cf960dc5d68a96211479fdb30698ae4 (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=9e882ed965badd19eccfbb5d388465bd8cfdfeaa

commit 9e882ed965badd19eccfbb5d388465bd8cfdfeaa
Author: amet <[email protected]>
Date:   Thu May 12 17:05:45 2011 +0400

    [script.cu.lyrics] -v1.0.2
    
    - fixed: decode Lyricsmode and Lyricstime pages using 
'decode("ISO-8859-1")', thx Anssi

diff --git a/script.cu.lyrics/addon.xml b/script.cu.lyrics/addon.xml
index a5e1943..e5cd220 100644
--- a/script.cu.lyrics/addon.xml
+++ b/script.cu.lyrics/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="script.cu.lyrics"
        name="CU Lyrics"
-       version="1.0.1"
+       version="1.0.2"
        provider-name="Amet">
   <requires>
     <import addon="xbmc.python" version="1.0"/>
diff --git a/script.cu.lyrics/changelog.txt b/script.cu.lyrics/changelog.txt
index 82a1622..d700935 100644
--- a/script.cu.lyrics/changelog.txt
+++ b/script.cu.lyrics/changelog.txt
@@ -1,3 +1,6 @@
+1.0.2
+- fixed: decode Lyricsmode and Lyricstime pages using 'decode("ISO-8859-1")', 
thx Anssi
+
 1.0.1
 - added: two more scrapers Lyricsmode and Lyricstime
 
diff --git 
a/script.cu.lyrics/resources/lib/scrapers/lyricsmode/lyricsScraper.py 
b/script.cu.lyrics/resources/lib/scrapers/lyricsmode/lyricsScraper.py
index fb5632f..b4f2dab 100644
--- a/script.cu.lyrics/resources/lib/scrapers/lyricsmode/lyricsScraper.py
+++ b/script.cu.lyrics/resources/lib/scrapers/lyricsmode/lyricsScraper.py
@@ -136,9 +136,9 @@ class XmlUtils :
 
 class LyricsFetcher:
     def __init__( self ):
-        self.clean_lyrics_regex = re.compile( "<.+?>" )

-        self.normalize_lyrics_regex = re.compile( "&#[x]*(?P<name>[0-9]+);*" )

-        self.clean_br_regex = re.compile( "<br[ /]*>[\s]*", re.IGNORECASE )

+        self.clean_lyrics_regex = re.compile( "<.+?>" )
+        self.normalize_lyrics_regex = re.compile( "&#[x]*(?P<name>[0-9]+);*" )
+        self.clean_br_regex = re.compile( "<br[ /]*>[\s]*", re.IGNORECASE )
     
     def get_lyrics_start(self, *args):
         lyricThread = threading.Thread(target=self.get_lyrics_thread, 
args=args)
@@ -154,9 +154,9 @@ class LyricsFetcher:
             print "Search url: %s" % (url)
             song_search = urllib.urlopen(url).read()
             lyr = song_search.split("<div id='songlyrics_h' 
class='dn'>")[1].split('<!-- /SONG LYRICS -->')[0]
-            lyr = self.clean_br_regex.sub( "\n", lyr ).strip()

-            lyr = self.clean_lyrics_regex.sub( "", lyr ).strip()

-            lyr = self.normalize_lyrics_regex.sub( lambda m: unichr( int( 
m.group( 1 ) ) ), lyr ).encode( "UTF-8", "replace" ).decode( "UTF-8" )

+            lyr = self.clean_br_regex.sub( "\n", lyr ).strip()
+            lyr = self.clean_lyrics_regex.sub( "", lyr ).strip()
+            lyr = self.normalize_lyrics_regex.sub( lambda m: unichr( int( 
m.group( 1 ) ) ), lyr.decode("ISO-8859-1") )
             lyr = u"\n".join( [ lyric.strip() for lyric in lyr.splitlines() ] 
)       
             l.lyrics = lyr
             l.source = __title__
diff --git 
a/script.cu.lyrics/resources/lib/scrapers/lyricstime/lyricsScraper.py 
b/script.cu.lyrics/resources/lib/scrapers/lyricstime/lyricsScraper.py
index b803a97..4997ef6 100644
--- a/script.cu.lyrics/resources/lib/scrapers/lyricstime/lyricsScraper.py
+++ b/script.cu.lyrics/resources/lib/scrapers/lyricstime/lyricsScraper.py
@@ -133,9 +133,9 @@ class XmlUtils :
 
 class LyricsFetcher:
     def __init__( self ):
-        self.clean_lyrics_regex = re.compile( "<.+?>" )

-        self.normalize_lyrics_regex = re.compile( "&#[x]*(?P<name>[0-9]+);*" )

-        self.clean_br_regex = re.compile( "<br[ /]*>[\s]*", re.IGNORECASE )

+        self.clean_lyrics_regex = re.compile( "<.+?>" )
+        self.normalize_lyrics_regex = re.compile( "&#[x]*(?P<name>[0-9]+);*" )
+        self.clean_br_regex = re.compile( "<br[ /]*>[\s]*", re.IGNORECASE )
         self.clean_info_regex = re.compile( "\[[a-z]+?:.*\]\s" )
         
     def get_lyrics_start(self, *args):
@@ -152,10 +152,10 @@ class LyricsFetcher:
             url = "http://www.lyricstime.com/%s-%s-lyrics.html"; % 
(song.artist.lower().replace(" ","-").replace(",","-"), 
song.title.lower().replace(" ","-").replace(",","-"), )
             song_search = urllib.urlopen(url.replace("--","-")).read()
             print "Search url: %s" % (url)
-            lyr = song_search.split('<div id="songlyrics" 
>')[1].split('</div>')[0]#.replace("<p>","").replace("</p>","").replace("<br 
/>","")     
+            lyr = song_search.split('<div id="songlyrics" 
>')[1].split('</div>')[0]     
             lyr = self.clean_br_regex.sub( "\n", lyr ).strip()
-            lyr = self.clean_lyrics_regex.sub( "", lyr ).strip()

-            lyr = self.normalize_lyrics_regex.sub( lambda m: unichr( int( 
m.group( 1 ) ) ), lyr ).encode( "UTF-8", "replace" ).decode( "UTF-8" )
+            lyr = self.clean_lyrics_regex.sub( "", lyr ).strip()
+            lyr = self.normalize_lyrics_regex.sub( lambda m: unichr( int( 
m.group( 1 ) ) ), lyr.decode("ISO-8859-1") )
             lyr = u"\n".join( [ lyric.strip() for lyric in lyr.splitlines() ] )
             lyr = self.clean_info_regex.sub( "", lyr )     
             l.lyrics = lyr

-----------------------------------------------------------------------

Summary of changes:
 script.cu.lyrics/addon.xml                         |    2 +-
 script.cu.lyrics/changelog.txt                     |    3 +++
 .../lib/scrapers/lyricsmode/lyricsScraper.py       |   12 ++++++------
 .../lib/scrapers/lyricstime/lyricsScraper.py       |   12 ++++++------
 4 files changed, 16 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to