1import re 2from calibre.web.feeds.news import BasicNewsRecipe 3 4 5class AdvancedUserRecipe1330393641(BasicNewsRecipe): 6 title = u'JAAPA' 7 __author__ = 'adoucette' 8 language = 'en' 9 oldest_article = 30 10 max_articles_per_feed = 100 11 auto_cleanup = True 12 13 def get_cover_url(self): 14 cover_url = None 15 soup = self.index_to_soup('http://www.jaapa.com') 16 cover_item = soup.find( 17 'img', src=re.compile(r'\w*?cover\w{1,22}\.jpg')) 18 if cover_item: 19 cover_url = cover_item['src'] 20 return cover_url 21 22 feeds = [ 23 (u'CME Articles', 24 u'http://feeds.feedburner.com/jaapacmearticles'), 25 (u'A Day in the Life', 26 u'http://www.jaapa.com/pages/rss.aspx?sectionid=490'), 27 (u'Ask A Librarian', 28 u'http://www.jaapa.com/pages/rss.aspx?sectionid=847'), 29 (u'Case of the Month', 30 u'http://feeds.feedburner.com/jaapacaseofthemonth'), 31 (u'Clinical Watch', 32 u'http://feeds.feedburner.com/jaapaclinicalwatch'), 33 (u'Commentary', 34 u'http://feeds.feedburner.com/jaapacommentary'), 35 (u'Critically Appraised Topic', 36 u'http://www.jaapa.com/pages/rss.aspx?sectionid=699'), 37 (u'Dermatology Digest', 38 u'http://feeds.feedburner.com/jaapadermatologydigest'), 39 (u'Diagnostic Imaging Review', 40 u'http://feeds.feedburner.com/jaapadiagnosticimagingreview'), 41 (u'Editorial', 42 u'http://www.jaapa.com/pages/rss.aspx?sectionid=759'), 43 (u'From the Academy', 44 u'http://feeds.feedburner.com/jaapafromtheacademy'), 45 (u'Genomics in PA Practice', 46 u'http://www.jaapa.com/pages/rss.aspx?sectionid=760'), 47 (u'Humane Medicine', 48 u'http://www.jaapa.com/pages/rss.aspx?sectionid=758'), 49 (u'Inside the AAPA Policy Manual', 50 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1546'), 51 (u'Interpreting ECGs', 52 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1624'), 53 (u'Letters', 54 u'http://www.jaapa.com/pages/rss.aspx?sectionid=808'), 55 (u'PA Quandaries', 56 u'http://www.jaapa.com/pages/rss.aspx?sectionid=496'), 57 (u'Pharmacology Consult', 58 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1614'), 59 (u'POEMs', u'http://feeds.feedburner.com/jaapapoems'), 60 (u'Quick Recertification', 61 u'http://feeds.feedburner.com/jaapaquickrecertificationseries'), 62 (u'Sounding Board', 63 u'http://www.jaapa.com/pages/rss.aspx?sectionid=698'), 64 (u'The Surgical Patient', 65 u'http://www.jaapa.com/pages/rss.aspx?sectionid=499'), 66 (u'Topics in Infectious Diseases', 67 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2495'), 68 (u"What's New", u'http://feeds.feedburner.com/jaapawhatsnew'), 69 (u'When the Patient Asks', 70 u'http://www.jaapa.com/pages/rss.aspx?sectionid=501'), 71 (u"Women's Health", 72 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2176'), 73 (u'AAPA Special Article', 74 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1453'), 75 (u'Case Reports', 76 u'http://feeds.feedburner.com/jaapacasereports'), 77 (u'Review Articles', 78 u'http://feeds.feedburner.com/jaapareviewarticles'), 79 (u'Surgical Reviews', 80 u'http://www.jaapa.com/pages/rss.aspx?sectionid=505'), 81 (u'Brief Report', 82 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2353'), 83 (u'Research Corner', 84 u'http://www.jaapa.com/pages/rss.aspx?sectionid=498'), 85 (u'Research Reports', 86 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1024'), 87 (u'The Art of Medicine', 88 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1289'), 89 (u'Clinical Practice Guidelines', 90 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2102'), 91 (u'Complementary and Alternative Medicine', 92 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2123'), 93 (u'Drug Information', 94 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2089'), 95 (u'Evidence-Based Medicine', 96 u'http://www.jaapa.com/pages/rss.aspx?sectionid=1288'), 97 (u'Patient Information', 98 u'http://www.jaapa.com/pages/rss.aspx?sectionid=2122')] 99 100 def print_version(self, url): 101 return url.replace('/article/', '/printarticle/') 102