diff --git a/recipes/tls_mag.recipe b/recipes/tls_mag.recipe index f845787688..1b301d15c0 100644 --- a/recipes/tls_mag.recipe +++ b/recipes/tls_mag.recipe @@ -93,11 +93,9 @@ class tls(BasicNewsRecipe): self.log(' ', title, '\n\t', desc, '\n\t', url) return ({ 'title': title, 'description': desc, 'url': url }) - def print_version(self, url): - return 'https://www.the-tls.co.uk/wp-json/tls/v2/single-article/' + get_id(url) - def preprocess_raw_html(self, raw, *a): - data = json.loads(raw) + pg = re.search(r'var tlsPageObject = ({.+)', raw).group(1) + data = json.JSONDecoder().raw_decode(pg)[0] if 'articleIntroPrimary' in data: prim = data['articleIntroPrimary'] title = '

' + prim['headline'] + '

\n' @@ -121,7 +119,7 @@ class tls(BasicNewsRecipe): prim = title = desc = label = auth = lede = '' bks = '' - if data['bookdetails']: + if 'bookdetails' in data and data['bookdetails']: bks += '
' for a in data['bookdetails']: for x, y in a.items(): @@ -132,14 +130,15 @@ class tls(BasicNewsRecipe): bks += '
' + y + '
\n' bks += '
' - if 'leadimage' in data: - if 'full_image' in data['leadimage'] and data['leadimage']['full_image']: + if 'article_data_leadimage' in data: + i = data['article_data_leadimage'] + if 'full_image' in i and i['full_image']: lede = '
{}
'.format( - data['leadimage']['full_image'] + '?w600', data['leadimage']['imagecaption'] + ' ' \ - + data['leadimage']['imagecredit'] + '' + i['full_image'] + '?w600', i['imagecaption'] + ' ' \ + + i['imagecredit'] + '' ) - - body = data['content'] + cont = self.index_to_soup('https://www.the-tls.co.uk/wp-json/tls/v2/single-article/' + data['ID'], raw=True) + body = json.loads(cont)['content'] html = '
' \ + label + title + desc + auth + lede + bks + body + \