autopep8 with 120 chars line length on my modules
This commit is contained in:
parent
6a7bc0924d
commit
5d923bc73b
39 changed files with 434 additions and 426 deletions
|
|
@ -43,7 +43,7 @@ class ParolesmaniaBackend(BaseBackend, ICapLyrics):
|
|||
return self.browser.get_lyrics(id)
|
||||
|
||||
def iter_lyrics(self, criteria, pattern):
|
||||
return self.browser.iter_lyrics(criteria,quote_plus(pattern.encode('utf-8')))
|
||||
return self.browser.iter_lyrics(criteria, quote_plus(pattern.encode('utf-8')))
|
||||
|
||||
def fill_songlyrics(self, songlyrics, fields):
|
||||
if 'content' in fields:
|
||||
|
|
@ -52,5 +52,5 @@ class ParolesmaniaBackend(BaseBackend, ICapLyrics):
|
|||
return songlyrics
|
||||
|
||||
OBJECTS = {
|
||||
SongLyrics:fill_songlyrics
|
||||
SongLyrics: fill_songlyrics
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,13 +36,13 @@ class ParolesmaniaBrowser(BaseBrowser):
|
|||
'http://www.parolesmania.com/recherche.php\?c=artist.*': ArtistResultsPage,
|
||||
'http://www.parolesmania.com/paroles.*[0-9]*/paroles.*': SonglyricsPage,
|
||||
'http://www.parolesmania.com/paroles[^/]*.html': ArtistSongsPage,
|
||||
}
|
||||
}
|
||||
|
||||
def iter_lyrics(self, criteria, pattern):
|
||||
crit = 'artist'
|
||||
if criteria != 'artist':
|
||||
crit = 'title'
|
||||
self.location('http://www.parolesmania.com/recherche.php?c=%s&k=%s'%(crit,pattern))
|
||||
self.location('http://www.parolesmania.com/recherche.php?c=%s&k=%s' % (crit, pattern))
|
||||
assert self.is_on_page(SongResultsPage) or self.is_on_page(ArtistResultsPage)\
|
||||
or self.is_on_page(ArtistSongsPage)
|
||||
for lyr in self.page.iter_lyrics():
|
||||
|
|
@ -50,6 +50,6 @@ class ParolesmaniaBrowser(BaseBrowser):
|
|||
|
||||
def get_lyrics(self, id):
|
||||
ids = id.split('|')
|
||||
self.location('http://www.parolesmania.com/paroles_%s/paroles_%s.html' % (ids[0],ids[1]))
|
||||
self.location('http://www.parolesmania.com/paroles_%s/paroles_%s.html' % (ids[0], ids[1]))
|
||||
assert self.is_on_page(SonglyricsPage)
|
||||
return self.page.get_lyrics(id)
|
||||
|
|
|
|||
|
|
@ -23,32 +23,32 @@ from weboob.capabilities.base import NotAvailable, NotLoaded
|
|||
from weboob.tools.browser import BasePage
|
||||
|
||||
|
||||
__all__ = ['SongResultsPage','SonglyricsPage', 'ArtistResultsPage', 'ArtistSongsPage']
|
||||
__all__ = ['SongResultsPage', 'SonglyricsPage', 'ArtistResultsPage', 'ArtistSongsPage']
|
||||
|
||||
|
||||
class ArtistResultsPage(BasePage):
|
||||
def iter_lyrics(self):
|
||||
for link in self.parser.select(self.document.getroot(),'div#albums > h1 a'):
|
||||
for link in self.parser.select(self.document.getroot(), 'div#albums > h1 a'):
|
||||
artist = unicode(link.text_content())
|
||||
href = link.attrib.get('href','')
|
||||
href = link.attrib.get('href', '')
|
||||
if href.startswith('/paroles'):
|
||||
self.browser.location('http://www.parolesmania.com%s'%href)
|
||||
self.browser.location('http://www.parolesmania.com%s' % href)
|
||||
assert self.browser.is_on_page(ArtistSongsPage)
|
||||
for lyr in self.browser.page.iter_lyrics(artist):
|
||||
yield lyr
|
||||
|
||||
|
||||
class ArtistSongsPage(BasePage):
|
||||
def iter_lyrics(self,artist=None):
|
||||
def iter_lyrics(self, artist=None):
|
||||
if artist is None:
|
||||
artist = self.parser.select(self.document.getroot(),'head > title',1).text.replace('Paroles ','')
|
||||
for link in self.parser.select(self.document.getroot(),'div#albums a'):
|
||||
href = link.attrib.get('href','')
|
||||
titleattrib = link.attrib.get('title','')
|
||||
artist = self.parser.select(self.document.getroot(), 'head > title', 1).text.replace('Paroles ', '')
|
||||
for link in self.parser.select(self.document.getroot(), 'div#albums a'):
|
||||
href = link.attrib.get('href', '')
|
||||
titleattrib = link.attrib.get('title', '')
|
||||
if href.startswith('/paroles') and not href.endswith('alpha.html') and titleattrib.startswith('Paroles '):
|
||||
title = unicode(link.text)
|
||||
ids = href.replace('/','').replace('.html','').split('paroles_')
|
||||
id = '%s|%s'%(ids[1],ids[2])
|
||||
ids = href.replace('/', '').replace('.html', '').split('paroles_')
|
||||
id = '%s|%s' % (ids[1], ids[2])
|
||||
songlyrics = SongLyrics(id, title)
|
||||
songlyrics.artist = artist
|
||||
songlyrics.content = NotLoaded
|
||||
|
|
@ -57,13 +57,13 @@ class ArtistSongsPage(BasePage):
|
|||
|
||||
class SongResultsPage(BasePage):
|
||||
def iter_lyrics(self):
|
||||
for link in self.parser.select(self.document.getroot(),'div#albums a'):
|
||||
for link in self.parser.select(self.document.getroot(), 'div#albums a'):
|
||||
artist = NotAvailable
|
||||
title = unicode(link.text.split(' - ')[0])
|
||||
href = link.attrib.get('href','')
|
||||
href = link.attrib.get('href', '')
|
||||
if href.startswith('/paroles') and not href.endswith('alpha.html'):
|
||||
ids = href.replace('/','').replace('.html','').split('paroles_')
|
||||
id = '%s|%s'%(ids[1],ids[2])
|
||||
ids = href.replace('/', '').replace('.html', '').split('paroles_')
|
||||
id = '%s|%s' % (ids[1], ids[2])
|
||||
artist = unicode(link.text.split(' - ')[1])
|
||||
songlyrics = SongLyrics(id, title)
|
||||
songlyrics.artist = artist
|
||||
|
|
@ -76,12 +76,12 @@ class SonglyricsPage(BasePage):
|
|||
content = NotAvailable
|
||||
artist = NotAvailable
|
||||
title = NotAvailable
|
||||
lyrdiv = self.parser.select(self.document.getroot(),'div#songlyrics_h')
|
||||
lyrdiv = self.parser.select(self.document.getroot(), 'div#songlyrics_h')
|
||||
if len(lyrdiv) > 0:
|
||||
content = unicode(lyrdiv[0].text_content().strip())
|
||||
infos = self.parser.select(self.document.getroot(),'head > title',1).text
|
||||
infos = self.parser.select(self.document.getroot(), 'head > title', 1).text
|
||||
artist = unicode(infos.split(' - ')[1])
|
||||
title = unicode(infos.split(' - ')[0].replace('Paroles ',''))
|
||||
title = unicode(infos.split(' - ')[0].replace('Paroles ', ''))
|
||||
songlyrics = SongLyrics(id, title)
|
||||
songlyrics.artist = artist
|
||||
songlyrics.content = content
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class ParolesmaniaTest(BackendTest):
|
|||
BACKEND = 'parolesmania'
|
||||
|
||||
def test_search_song_n_get(self):
|
||||
l_lyrics = list(self.backend.iter_lyrics('song','chien'))
|
||||
l_lyrics = list(self.backend.iter_lyrics('song', 'chien'))
|
||||
for songlyrics in l_lyrics:
|
||||
assert songlyrics.id
|
||||
assert songlyrics.title
|
||||
|
|
@ -38,7 +38,7 @@ class ParolesmaniaTest(BackendTest):
|
|||
assert full_lyr.content is not NotLoaded
|
||||
|
||||
def test_search_artist(self):
|
||||
l_lyrics = list(self.backend.iter_lyrics('artist','boris'))
|
||||
l_lyrics = list(self.backend.iter_lyrics('artist', 'boris'))
|
||||
for songlyrics in l_lyrics:
|
||||
assert songlyrics.id
|
||||
assert songlyrics.title
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue