diff --git a/recipes/the_new_republic.recipe b/recipes/the_new_republic.recipe deleted file mode 100644 index e92b45373b..0000000000 --- a/recipes/the_new_republic.recipe +++ /dev/null @@ -1,66 +0,0 @@ -import re -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class TNR(BasicNewsRecipe): - - title = 'The New Republic' - __author__ = 'Krittika Goyal' - - description = '''The New Republic is a journal of opinion with an emphasis - on politics and domestic and international affairs. It carries feature - articles by staff and contributing editors. The second half of each issue - is devoted to book and the arts, theater, motion pictures, music and art.''' - - language = 'en' - encoding = 'UTF-8' - needs_subscription = True - - preprocess_regexps = [ - (re.compile(r'', re.DOTALL), lambda m: ''), - (re.compile(r'', re.DOTALL), lambda m: ''), - ] - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - br.open('http://www.newrepublic.com/user') - br.select_form(nr=1) - try: - br['user'] = self.username - except: - br['name'] = self.username - br['pass'] = self.password - self.log('Logging in...') - raw = br.submit().read() - if b'SIGN OUT' not in raw: - raise ValueError( - 'Failed to log in to tnr.com, check your username and password') - self.log('Logged in successfully') - return br - - def parse_index(self): - raw = self.index_to_soup( - 'http://www.newrepublic.com/current-issue', raw=True) - # raw = self.index_to_soup(open('/t/raw.html').read().decode('utf-8'), raw=True) - for pat, sub in self.preprocess_regexps: - raw = pat.sub(sub, raw) - soup = self.index_to_soup(raw) - feed_title = 'The New Republic Magazine Articles' - - articles = [] - for div in soup.findAll('div', attrs={'class': lambda x: x and 'field-item' in x.split()}): - a = div.find('a', href=True, attrs={ - 'class': lambda x: x != 'author'}) - if a is not None: - art_title = self.tag_to_string(a) - url = a.get('href') - num = re.search(r'/(\d+)/', url) - if num is not None: - art = num.group(1) - url = 'http://www.newrepublic.com/node/%s/print' % art - self.log.info('\tFound article:', art_title, 'at', url) - article = {'title': art_title, 'url': url, - 'description': '', 'date': ''} - articles.append(article) - - return [(feed_title, articles)]