Skip to content

Commit

Permalink
Merge pull request #6 from yannrouillard/multithread
Browse files Browse the repository at this point in the history
Try every scraper
  • Loading branch information
Zeljko Ametovic committed Apr 14, 2012
2 parents afbeb70 + 7f78bd3 commit a4abb1b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
20 changes: 13 additions & 7 deletions script.cu.lyrics/resources/lib/gui.py
Expand Up @@ -17,27 +17,30 @@
__language__ = sys.modules[ "__main__" ].__language__
__cwd__ = sys.modules[ "__main__" ].__cwd__

LYRIC_SCRAPER_DIR = os.path.join(__cwd__, "resources", "lib", "scrapers")

class GUI( xbmcgui.WindowXMLDialog ):
def __init__( self, *args, **kwargs ):
xbmcgui.WindowXMLDialog.__init__( self )
self.fetchedLyrics = []
self.current_song = Song.current()
self.current_file = xbmc.Player().getPlayingFile()
self.song_info = xbmc.Player().getMusicInfoTag().getTitle()
self.scrapers = []

def onInit( self ):
self.setup_all()

def setup_all( self ):
self.setup_variables()
self.get_scraper()
self.get_scraper_list()
self.getMyPlayer()

def get_scraper( self ):
exec ( "from scrapers.%s import lyricsScraper as lyricsScraper" % (__settings__.getSetting( "scraper")))
self.LyricsScraper = lyricsScraper.LyricsFetcher()
self.scraper_title = lyricsScraper.__title__
self.scraper_exceptions = lyricsScraper.__allow_exceptions__
def get_scraper_list( self ):
for scraper in os.listdir(LYRIC_SCRAPER_DIR):
if os.path.isdir(os.path.join(LYRIC_SCRAPER_DIR, scraper)) and __settings__.getSetting( scraper ) == "true":
exec ( "from scrapers.%s import lyricsScraper as lyricsScraper_%s" % (scraper, scraper))
exec ( "self.scrapers.append(lyricsScraper_%s.LyricsFetcher())" % scraper)

def setup_variables( self ):
self.artist = None
Expand Down Expand Up @@ -66,7 +69,10 @@ def get_lyrics(self, song, next_song = False):
lyrics, error = self.get_lyrics_from_file( song, next_song )

if ( lyrics is None ):
lyrics, error = self.LyricsScraper.get_lyrics_thread( song )
for scraper in self.scrapers:
lyrics, error = scraper.get_lyrics_thread( song )
if lyrics is not None:
break

if ( lyrics is not None ):
try:
Expand Down
6 changes: 5 additions & 1 deletion script.cu.lyrics/resources/settings.xml
Expand Up @@ -5,6 +5,10 @@
<setting id="save_lyrics" type="bool" label="30101" default="true"/>
<setting id="show_embeded_lyrics" type="bool" label="30107" default="true"/>
<setting id="save_embeded_lyrics" type="bool" visible= "eq(-1,true)" enable="eq(-1,true)" label="30108" default="false"/>
<setting id="scraper" type="fileenum" mask="/" label="30109" default="lyricstime" values="/resources/lib/scrapers" />
</category>
<category label="30109">
<setting id="lyricsmode" type="bool" label="Lyrics Mode" default="true"/>
<setting id="lyricstime" type="bool" label="lyrics.time" default="true"/>
<setting id="lyricwiki" type="bool" label="Lyrics Wiki" default="true"/>
</category>
</settings>

0 comments on commit a4abb1b

Please sign in to comment.