|
|
@ -13,7 +13,7 @@ autoload = 'Letterboxd' |
|
|
|
|
|
|
|
class Letterboxd(Automation): |
|
|
|
|
|
|
|
url = 'http://letterboxd.com/%s/watchlist/' |
|
|
|
url = 'http://letterboxd.com/%s/watchlist/page/%d/' |
|
|
|
pattern = re.compile(r'(.*)\((\d*)\)') |
|
|
|
|
|
|
|
interval = 1800 |
|
|
@ -46,9 +46,21 @@ class Letterboxd(Automation): |
|
|
|
if not enablers[index]: |
|
|
|
continue |
|
|
|
|
|
|
|
soup = BeautifulSoup(self.getHTMLData(self.url % username)) |
|
|
|
soup = BeautifulSoup(self.getHTMLData(self.url % (username, 1))) |
|
|
|
|
|
|
|
for movie in soup.find_all('li', attrs = {'class': 'poster-container'}): |
|
|
|
pagination_items = soup.find_all('li', attrs={'class': 'paginate-page'}) |
|
|
|
pages = range(1, len(pagination_items) + 1) if pagination_items else [1] |
|
|
|
|
|
|
|
for page in pages: |
|
|
|
soup = BeautifulSoup(self.getHTMLData(self.url % (username, page))) |
|
|
|
movies += self.getMoviesFromHTML(soup) |
|
|
|
|
|
|
|
return movies |
|
|
|
|
|
|
|
def getMoviesFromHTML(self, html): |
|
|
|
movies = [] |
|
|
|
|
|
|
|
for movie in html.find_all('li', attrs={'class': 'poster-container'}): |
|
|
|
img = movie.find('img') |
|
|
|
title = img.get('alt') |
|
|
|
|
|
|
@ -58,7 +70,6 @@ class Letterboxd(Automation): |
|
|
|
|
|
|
|
return movies |
|
|
|
|
|
|
|
|
|
|
|
config = [{ |
|
|
|
'name': 'letterboxd', |
|
|
|
'groups': [ |
|
|
|