@@ 2617-2647 (lines=31) @@ | ||
2614 | ||
2615 | ||
2616 | class BuniComic(GenericNavigableComic): |
|
2617 | """Class to retrieve Buni Comics.""" |
|
2618 | name = 'buni' |
|
2619 | long_name = 'BuniComics' |
|
2620 | url = 'http://www.bunicomic.com' |
|
2621 | get_first_comic_link = get_a_comicnavbase_comicnavfirst |
|
2622 | get_navi_link = get_link_rel_next |
|
2623 | ||
2624 | @classmethod |
|
2625 | def get_comic_info(cls, soup, link): |
|
2626 | """Get information about a particular comics.""" |
|
2627 | imgs = soup.find('div', id='comic').find_all('img') |
|
2628 | assert all(i['alt'] == i['title'] for i in imgs) |
|
2629 | assert len(imgs) == 1 |
|
2630 | return { |
|
2631 | 'img': [i['src'] for i in imgs], |
|
2632 | 'title': imgs[0]['title'], |
|
2633 | } |
|
2634 | ||
2635 | ||
2636 | class GenericCommitStrip(GenericNavigableComic): |
|
2637 | """Generic class to retrieve Commit Strips in different languages.""" |
|
2638 | get_navi_link = get_a_rel_next |
|
2639 | ||
2640 | @classmethod |
|
2641 | def get_comic_info(cls, soup, link): |
|
2642 | """Get information about a particular comics.""" |
|
2643 | desc = soup.find('meta', property='og:description')['content'] |
|
2644 | title = soup.find('meta', property='og:title')['content'] |
|
2645 | imgs = soup.find('div', class_='entry-content').find_all('img') |
|
2646 | title2 = ' '.join(i.get('title', '') for i in imgs) |
|
2647 | return { |
|
2648 | 'title': title, |
|
2649 | 'title2': title2, |
|
2650 | 'description': desc, |
|
@@ 437-466 (lines=30) @@ | ||
434 | class UneAnneeAuLycee(GenericLeMondeBlog): |
|
435 | """Class to retrieve Une Annee Au Lycee comics.""" |
|
436 | name = 'lycee' |
|
437 | long_name = 'Une Annee au Lycee' |
|
438 | url = 'http://uneanneeaulycee.blog.lemonde.fr' |
|
439 | ||
440 | @classmethod |
|
441 | def get_first_comic_url(cls): |
|
442 | return "http://uneanneeaulycee.blog.lemonde.fr/2016/06/13/la-semaine-du-bac-est-arrivee/" |
|
443 | ||
444 | ||
445 | class Rall(GenericNavigableComic): |
|
446 | """Class to retrieve Ted Rall comics.""" |
|
447 | # Also on http://www.gocomics.com/tedrall |
|
448 | name = 'rall' |
|
449 | long_name = "Ted Rall" |
|
450 | url = "http://rall.com/comic" |
|
451 | get_navi_link = get_link_rel_next |
|
452 | ||
453 | @classmethod |
|
454 | def get_first_comic_link(cls): |
|
455 | """Get link to first comics.""" |
|
456 | # Not the first but I didn't find an efficient way to retrieve it |
|
457 | return {'href': "http://rall.com/2014/01/30/los-angeles-times-cartoon-well-miss-those-california-flowers"} |
|
458 | ||
459 | @classmethod |
|
460 | def get_comic_info(cls, soup, link): |
|
461 | """Get information about a particular comics.""" |
|
462 | title = soup.find('meta', property='og:title')['content'] |
|
463 | author = soup.find("span", class_="author vcard").find("a").string |
|
464 | date_str = soup.find("span", class_="entry-date").string |
|
465 | day = string_to_date(date_str, "%B %d, %Y") |
|
466 | desc = soup.find('meta', property='og:description')['content'] |
|
467 | imgs = soup.find('div', class_='entry-content').find_all('img') |
|
468 | imgs = imgs[:-7] # remove social media buttons |
|
469 | return { |