MythTV master
scrapertest.py
Go to the documentation of this file.
1#-*- coding: UTF-8 -*-
2import time
3from lib.utils import *
4from lib.culrcscrapers.azlyrics import lyricsScraper as lyricsScraper_azlyrics
5from lib.culrcscrapers.darklyrics import lyricsScraper as lyricsScraper_darklyrics
6from lib.culrcscrapers.genius import lyricsScraper as lyricsScraper_genius
7from lib.culrcscrapers.lrclib import lyricsScraper as lyricsScraper_lrclib
8from lib.culrcscrapers.lyricscom import lyricsScraper as lyricsScraper_lyricscom
9from lib.culrcscrapers.lyricsmode import lyricsScraper as lyricsScraper_lyricsmode
10from lib.culrcscrapers.megalobiz import lyricsScraper as lyricsScraper_megalobiz
11from lib.culrcscrapers.music163 import lyricsScraper as lyricsScraper_music163
12from lib.culrcscrapers.musixmatch import lyricsScraper as lyricsScraper_musixmatch
13from lib.culrcscrapers.musixmatchlrc import lyricsScraper as lyricsScraper_musixmatchlrc
14from lib.culrcscrapers.rclyricsband import lyricsScraper as lyricsScraper_rclyricsband
15from lib.culrcscrapers.supermusic import lyricsScraper as lyricsScraper_supermusic
16
17FAILED = []
18
20 lyricssettings = {}
21 lyricssettings['debug'] = ADDON.getSettingBool('log_enabled')
22 lyricssettings['save_filename_format'] = ADDON.getSettingInt('save_filename_format')
23 lyricssettings['save_lyrics_path'] = ADDON.getSettingString('save_lyrics_path')
24 lyricssettings['save_subfolder'] = ADDON.getSettingBool('save_subfolder')
25 lyricssettings['save_subfolder_path'] = ADDON.getSettingString('save_subfolder_path')
26
27 dialog = xbmcgui.DialogProgress()
28 TIMINGS = []
29
30 # test alsong
31 dialog.create(ADDONNAME, LANGUAGE(32163) % 'azlyrics')
32 log('==================== azlyrics ====================', debug=True)
33 song = Song(opt=lyricssettings)
34 song.artist = 'La Dispute'
35 song.title = 'Such Small Hands'
36 st = time.time()
37 lyrics = lyricsScraper_azlyrics.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
38 ft = time.time()
39 tt = ft - st
40 TIMINGS.append(['azlyrics',tt])
41 if lyrics:
42 log(lyrics.lyrics, debug=True)
43 else:
44 FAILED.append('azlyrics')
45 log('FAILED: azlyrics', debug=True)
46 if dialog.iscanceled():
47 return
48
49 # test darklyrics
50 dialog.update(8, LANGUAGE(32163) % 'darklyrics')
51 log('==================== darklyrics ====================', debug=True)
52 song = Song(opt=lyricssettings)
53 song.artist = 'Neurosis'
54 song.title = 'Lost'
55 st = time.time()
56 lyrics = lyricsScraper_darklyrics.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
57 ft = time.time()
58 tt = ft - st
59 TIMINGS.append(['darklyrics',tt])
60 if lyrics:
61 log(lyrics.lyrics, debug=True)
62 else:
63 FAILED.append('darklyrics')
64 log('FAILED: darklyrics', debug=True)
65 if dialog.iscanceled():
66 return
67
68 # test genius
69 dialog.update(16, LANGUAGE(32163) % 'genius')
70 log('==================== genius ====================', debug=True)
71 song = Song(opt=lyricssettings)
72 song.artist = 'Maren Morris'
73 song.title = 'My Church'
74 st = time.time()
75 lyrics = lyricsScraper_genius.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
76 ft = time.time()
77 tt = ft - st
78 TIMINGS.append(['genius',tt])
79 if lyrics:
80 log(lyrics.lyrics, debug=True)
81 else:
82 FAILED.append('genius')
83 log('FAILED: genius', debug=True)
84 if dialog.iscanceled():
85 return
86
87 # test lrclib
88 dialog.update(24, LANGUAGE(32163) % 'lrclib')
89 log('==================== lrclib ====================', debug=True)
90 song = Song(opt=lyricssettings)
91 song.artist = 'CHVRCHES'
92 song.title = 'Clearest Blue'
93 st = time.time()
94 lyrics = lyricsScraper_lrclib.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
95 ft = time.time()
96 tt = ft - st
97 TIMINGS.append(['lrclib',tt])
98 if lyrics:
99 log(lyrics.lyrics, debug=True)
100 else:
101 FAILED.append('lrclib')
102 log('FAILED: lrclib', debug=True)
103 if dialog.iscanceled():
104 return
105
106 # test lyricscom
107 dialog.update(32, LANGUAGE(32163) % 'lyricscom')
108 log('==================== lyricscom ====================', debug=True)
109 song = Song(opt=lyricssettings)
110 song.artist = 'Blur'
111 song.title = 'You\'re So Great'
112 st = time.time()
113 lyrics = lyricsScraper_lyricscom.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
114 ft = time.time()
115 tt = ft - st
116 TIMINGS.append(['lyricscom',tt])
117 if lyrics:
118 log(lyrics.lyrics, debug=True)
119 else:
120 FAILED.append('lyricscom')
121 log('FAILED: lyricscom', debug=True)
122 if dialog.iscanceled():
123 return
124
125 # test lyricsmode
126 dialog.update(40, LANGUAGE(32163) % 'lyricsmode')
127 log('==================== lyricsmode ====================', debug=True)
128 song = Song(opt=lyricssettings)
129 song.artist = 'Maren Morris'
130 song.title = 'My Church'
131 st = time.time()
132 lyrics = lyricsScraper_lyricsmode.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
133 ft = time.time()
134 tt = ft - st
135 TIMINGS.append(['lyricsmode',tt])
136 if lyrics:
137 log(lyrics.lyrics, debug=True)
138 else:
139 FAILED.append('lyricsmode')
140 log('FAILED: lyricsmode', debug=True)
141 if dialog.iscanceled():
142 return
143
144 # test megalobiz
145 dialog.update(49, LANGUAGE(32163) % 'megalobiz')
146 log('==================== megalobiz ====================', debug=True)
147 song = Song(opt=lyricssettings)
148 song.artist = 'Michael Jackson'
149 song.title = 'Beat It'
150 st = time.time()
151 lyrics = lyricsScraper_megalobiz.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
152 ft = time.time()
153 tt = ft - st
154 TIMINGS.append(['megalobiz',tt])
155 if lyrics:
156 log(lyrics.lyrics, debug=True)
157 else:
158 FAILED.append('megalobiz')
159 log('FAILED: megalobiz', debug=True)
160 if dialog.iscanceled():
161 return
162
163 # test music163
164 dialog.update(58, LANGUAGE(32163) % 'music163')
165 log('==================== music163 ====================', debug=True)
166 song = Song(opt=lyricssettings)
167 song.artist = 'Madonna'
168 song.title = 'Vogue'
169 st = time.time()
170 lyrics = lyricsScraper_music163.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
171 ft = time.time()
172 tt = ft - st
173 TIMINGS.append(['music163',tt])
174 if lyrics:
175 log(lyrics.lyrics, debug=True)
176 else:
177 FAILED.append('music163')
178 log('FAILED: music163', debug=True)
179 if dialog.iscanceled():
180 return
181
182 # test musixmatch
183 dialog.update(66, LANGUAGE(32163) % 'musixmatch')
184 log('==================== musixmatch ====================', debug=True)
185 song = Song(opt=lyricssettings)
186 song.artist = 'Kate Bush'
187 song.title = 'Wuthering Heights'
188 st = time.time()
189 lyrics = lyricsScraper_musixmatch.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
190 ft = time.time()
191 tt = ft - st
192 TIMINGS.append(['musixmatch',tt])
193 if lyrics:
194 log(lyrics.lyrics, debug=True)
195 else:
196 FAILED.append('musixmatch')
197 log('FAILED: musixmatch', debug=True)
198 if dialog.iscanceled():
199 return
200
201 # test musixmatchlrc
202 dialog.update(73, LANGUAGE(32163) % 'musixmatchlrc')
203 log('==================== musixmatchlrc ====================', debug=True)
204 song = Song(opt=lyricssettings)
205 song.artist = 'Kate Bush'
206 song.title = 'Wuthering Heights'
207 st = time.time()
208 lyrics = lyricsScraper_musixmatchlrc.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
209 ft = time.time()
210 tt = ft - st
211 TIMINGS.append(['musixmatchlrc',tt])
212 if lyrics:
213 log(lyrics.lyrics, debug=True)
214 else:
215 FAILED.append('musixmatchlrc')
216 log('FAILED: musixmatchlrc', debug=True)
217 if dialog.iscanceled():
218 return
219
220 # test rclyricsband
221 dialog.update(80, LANGUAGE(32163) % 'rclyricsband')
222 log('==================== rclyricsband ====================', debug=True)
223 song = Song(opt=lyricssettings)
224 song.artist = 'Taylor Swift'
225 song.title = 'The Archer'
226 st = time.time()
227 lyrics = lyricsScraper_rclyricsband.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
228 ft = time.time()
229 tt = ft - st
230 TIMINGS.append(['rclyricsband',tt])
231 if lyrics:
232 log(lyrics.lyrics, debug=True)
233 else:
234 FAILED.append('rclyricsband')
235 log('FAILED: rclyricsband', debug=True)
236 if dialog.iscanceled():
237 return
238
239 # test supermusic
240 dialog.update(88, LANGUAGE(32163) % 'supermusic')
241 log('==================== supermusic ====================', debug=True)
242 song = Song(opt=lyricssettings)
243 song.artist = 'Karel Gott'
244 song.title = 'Trezor'
245 st = time.time()
246 lyrics = lyricsScraper_supermusic.LyricsFetcher(settings=lyricssettings, debug=True).get_lyrics(song)
247 ft = time.time()
248 tt = ft - st
249 TIMINGS.append(['supermusic',tt])
250 if lyrics:
251 log(lyrics.lyrics, debug=True)
252 else:
253 FAILED.append('supermusic')
254 log('FAILED: supermusic', debug=True)
255 if dialog.iscanceled():
256 return
257
258 dialog.close()
259 log('=======================================', debug=True)
260 log('FAILED: %s' % str(FAILED), debug=True)
261 log('=======================================', debug=True)
262 for item in TIMINGS:
263 log('%s - %i' % (item[0], item[1]), debug=True)
264 log('=======================================', debug=True)
265 if FAILED:
266 dialog = xbmcgui.Dialog().ok(ADDONNAME, LANGUAGE(32165) % ' / '.join(FAILED))
267 else:
268 dialog = xbmcgui.Dialog().ok(ADDONNAME, LANGUAGE(32164))
LANGUAGE
Definition: embedlrc.py:8
def test_scrapers()
Definition: scrapertest.py:19
None log(str msg, int level=LOGDEBUG)
Definition: xbmc.py:9