id: 516a29a0f94b4049b221fe5e9da83c63
parent_id: 
item_type: 1
item_id: a54cbed8e5d3480a82f748919545c690
item_updated_time: 1764345576792
title_diff: "[{\"diffs\":[[1,\"API Documentation for recipes — calibre User \"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":45}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>API Documentation for recipes — calibre User Manual</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <meta name=\\\"application-data:2525275\\\" content=\\\"6692893/s30/9f928d34-e249-4cb5-af24-41238f568d4c/app.yinxiang.com\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"13310\\\"></a>\\\r\\\n<h1>API Documentation for recipes — calibre User Manual</h1>\\\r\\\n\\\r\\\n<div><span><br/><div style=\\\"font-size: 16px\\\"><div><div style=\\\"font-family:sans-serif;font-size:100%;color:rgb(0, 0, 0);background-color:rgb(17, 48, 61);\\\"><div style=\\\"background-color:rgb(28, 78, 99);\\\"><div><div><div style=\\\"color:rgb(0, 0, 0);background-color:rgb(255, 255, 255);\\\"><div>\\\n<span></span><span></span><h1 style=\\\"font-family:'Trebuchet MS', sans-serif;font-weight:normal;color:rgb(32, 67, 92);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(204, 204, 204);margin:20px -20px 10px;padding:3px 0px 3px 10px;background-color:rgb(242, 242, 242);margin-top:0px;font-size:200%;\\\">API Documentation for recipes<a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#module-calibre.web.feeds.news\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this headline\\\">¶</a></h1>\\\n<p style=\\\"text-align:justify;line-height:130%;\\\">The API for writing recipes is defined by the <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe</span></tt></a></p>\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<em>class </em><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;\\\">calibre.web.feeds.news.</tt><tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">BasicNewsRecipe</tt><big>(</big><em>options</em>, <em>log</em>, <em>progress_reporter</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:visible;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Base class that contains logic needed in all recipes. By overriding\\\nprogressively more of the functionality in this class, you can make\\\nprogressively more customized/powerful recipes. For a tutorial introduction\\\nto creating recipes, see <a href=\\\"http://manual.calibre-ebook.com/news.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>Adding your favorite news website</em></a>.</p>\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">abort_recipe_processing</tt><big>(</big><em>msg</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.abort_recipe_processing\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.abort_recipe_processing\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Causes the recipe download system to abort the download of this recipe,\\\ndisplaying a simple feedback message to the user.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">add_toc_thumbnail</tt><big>(</big><em>article</em>, <em>src</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.add_toc_thumbnail\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.add_toc_thumbnail\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Call this from populate_article_metadata with the src attribute of an\\\n&lt;img&gt; tag from the article that is appropriate for use as the thumbnail\\\nrepresenting the article in the Table of Contents. Whether the\\\nthumbnail is actually used is device dependent (currently only used by\\\nthe Kindles). Note that the referenced image must be one that was\\\nsuccessfully downloaded, otherwise it will be ignored.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<em>classmethod </em><tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">adeify_images</tt><big>(</big><em>soup</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.adeify_images\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.adeify_images\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If your recipe when converted to EPUB has problems with images when\\\nviewed in Adobe Digital Editions, call this method from within\\\n<a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.postprocess_html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.postprocess_html\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>postprocess_html()</span></tt></a>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">cleanup</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.cleanup\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.cleanup\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Called after all articles have been download. Use it to do any cleanup like\\\nlogging out of subscription sites, etc.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">clone_browser</tt><big>(</big><em>br</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.clone_browser\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.clone_browser\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Clone the browser br. Cloned browsers are used for multi-threaded\\\ndownloads, since mechanize is not thread safe. The default cloning\\\nroutines should capture most browser customization, but if you do\\\nsomething exotic in your recipe, you should override this method in\\\nyour recipe and clone manually.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Cloned browser instances use the same, thread-safe CookieJar by\\\ndefault, unless you have customized cookie handling.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">default_cover</tt><big>(</big><em>cover_file</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.default_cover\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.default_cover\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Create a generic cover for recipes that don’t have a cover</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">download</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.download\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.download\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Download and pre-process all articles from the feeds in this recipe.\\\nThis method should be called only once on a particular Recipe instance.\\\nCalling it more than once will lead to undefined behavior.\\\n:return: Path to index.html</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">extract_readable_article</tt><big>(</big><em>html</em>, <em>url</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.extract_readable_article\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.extract_readable_article\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Extracts main article content from ‘html’, cleans up and returns as a (article_html, extracted_title) tuple.\\\nBased on the original readability algorithm by Arc90.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_article_url</tt><big>(</big><em>article</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_article_url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_article_url\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Override in a subclass to customize extraction of the <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>URL</em></a> that points\\\nto the content for each article. Return the\\\narticle URL. It is called with <cite>article</cite>, an object representing a parsed article\\\nfrom a feed. See <a href=\\\"https://pythonhosted.org/feedparser/\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">feedparser</a>.\\\nBy default it looks for the original link (for feeds syndicated via a\\\nservice like feedburner or pheedo) and if found,\\\nreturns that or else returns\\\n<a href=\\\"https://pythonhosted.org/feedparser/reference-entry-link.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">article.link</a>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_browser</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_browser\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_browser\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Return a browser instance used to fetch documents from the web. By default\\\nit returns a <a href=\\\"http://wwwsearch.sourceforge.net/mechanize/\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">mechanize</a>\\\nbrowser instance that supports cookies, ignores robots.txt, handles\\\nrefreshes and has a mozilla firefox user agent.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If your recipe requires that you login first, override this method\\\nin your subclass. For example, the following code is used in the New York\\\nTimes recipe to login for full access:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">def</span> <span style=\\\"color:rgb(6, 40, 126);\\\">get_browser</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span>):</span>\\\n    <span>br</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>BasicNewsRecipe</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>get_browser</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span>)</span>\\\n    <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">if</span> <span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>username</span> <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">is</span> <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">not</span> <span style=\\\"color:rgb(0, 112, 32);\\\">None</span> <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">and</span> <span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>password</span> <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">is</span> <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">not</span> <span style=\\\"color:rgb(0, 112, 32);\\\">None</span><span>:</span>\\\n        <span>br</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>open</span><span>(</span><span style=\\\"color:rgb(64, 112, 160);\\\">'http://www.nytimes.com/auth/login'</span><span>)</span>\\\n        <span>br</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>select_form</span><span>(</span><span>name</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span style=\\\"color:rgb(64, 112, 160);\\\">'login'</span><span>)</span>\\\n        <span>br</span><span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">'USERID'</span><span>]</span>   <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>username</span>\\\n        <span>br</span><span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">'PASSWORD'</span><span>]</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>password</span>\\\n        <span>br</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>submit</span><span>()</span>\\\n    <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">return</span> <span>br</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_cover_url</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_cover_url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_cover_url\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Return a <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>URL</em></a> to the cover image for this issue or <cite>None</cite>.\\\nBy default it returns the value of the member <cite>self.cover_url</cite> which\\\nis normally <cite>None</cite>. If you want your recipe to download a cover for the e-book\\\noverride this method in your subclass, or set the member variable <cite>self.cover_url</cite>\\\nbefore this method is called.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_feeds</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_feeds\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_feeds\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Return a list of <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-rss\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>RSS</em></a> feeds to fetch for this profile. Each element of the list\\\nmust be a 2-element tuple of the form (title, url). If title is None or an\\\nempty string, the title from the feed is used. This method is useful if your recipe\\\nneeds to do some processing to figure out the list of feeds to download. If\\\nso, override in your subclass.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_masthead_title</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_masthead_title\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_masthead_title\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Override in subclass to use something other than the recipe title</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_masthead_url</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_masthead_url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_masthead_url\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Return a <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>URL</em></a> to the masthead image for this issue or <cite>None</cite>.\\\nBy default it returns the value of the member <cite>self.masthead_url</cite> which\\\nis normally <cite>None</cite>. If you want your recipe to download a masthead for the e-book\\\noverride this method in your subclass, or set the member variable <cite>self.masthead_url</cite>\\\nbefore this method is called.\\\nMasthead images are used in Kindle MOBI files.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">get_obfuscated_article</tt><big>(</big><em>url</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.get_obfuscated_article\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_obfuscated_article\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If you set <cite>articles_are_obfuscated</cite> this method is called with\\\nevery article URL. It should return the path to a file on the filesystem\\\nthat contains the article HTML. That file is processed by the recursive\\\nHTML fetching engine, so it can contain links to pages/images on the web.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method is typically useful for sites that try to make it difficult to\\\naccess article content automatically.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<em>classmethod </em><tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">image_url_processor</tt><big>(</big><em>baseurl</em>, <em>url</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.image_url_processor\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.image_url_processor\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Perform some processing on image urls (perhaps removing size restrictions for\\\ndynamically generated images, etc.) and return the precessed URL.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">index_to_soup</tt><big>(</big><em>url_or_raw</em>, <em>raw=False</em>, <em>as_tree=False</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.index_to_soup\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.index_to_soup\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Convenience method that takes an URL to the index page and returns\\\na <a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">BeautifulSoup</a>\\\nof it.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>url_or_raw</cite>: Either a URL or the downloaded index page as a string</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">is_link_wanted</tt><big>(</big><em>url</em>, <em>tag</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.is_link_wanted\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.is_link_wanted\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Return True if the link should be followed or False otherwise. By\\\ndefault, raises NotImplementedError which causes the downloader to\\\nignore it.</p>\\\n<table style=\\\"font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;margin-bottom:10px;border:0px;border-collapse:collapse;\\\">\\\n<colgroup><col></col>\\\n<col></col>\\\n</colgroup><tbody valign=\\\"top\\\">\\\n<tr><th style=\\\"text-align:left;background-color:rgb(238, 221, 238);padding:1px 8px 1px 5px;border:0px;\\\">Parameters:</th><td style=\\\"text-align:left;padding:1px 8px 1px 5px;border:0px;\\\"><ul style=\\\"padding-left:1em;margin:0px;\\\">\\\n<li style=\\\"text-align:justify;line-height:130%;\\\"><strong>url</strong> – The URL to be followed</li>\\\n<li style=\\\"text-align:justify;line-height:130%;\\\"><strong>tag</strong> – The Tag from which the URL was derived</li>\\\n</ul>\\\n</td>\\\n</tr>\\\n</tbody>\\\n</table>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">javascript_login</tt><big>(</big><em>browser</em>, <em>username</em>, <em>password</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.javascript_login\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.javascript_login\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method is used to login to a website that uses javascript for its\\\nlogin form. After the login is complete, the cookies returned from the\\\nwebsite are copied to a normal (non-javascript) browser and the\\\ndownload proceeds using those cookies.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">An example implementation:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">def</span> <span style=\\\"color:rgb(6, 40, 126);\\\">javascript_login</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span>,</span> <span>browser</span><span>,</span> <span>username</span><span>,</span> <span>password</span><span>):</span>\\\n    <span>browser</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>visit</span><span>(</span><span style=\\\"color:rgb(64, 112, 160);\\\">'http://some-page-that-has-a-login'</span><span>)</span>\\\n    <span>form</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>browser</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>select_form</span><span>(</span><span>nr</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span style=\\\"color:rgb(32, 128, 80);\\\">0</span><span>)</span> <span style=\\\"color:rgb(64, 128, 144);font-style:italic;\\\"># Select the first form on the page</span>\\\n    <span>form</span><span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">'username'</span><span>]</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>username</span>\\\n    <span>form</span><span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">'password'</span><span>]</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>password</span>\\\n    <span>browser</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>submit</span><span>(</span><span>timeout</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span style=\\\"color:rgb(32, 128, 80);\\\">120</span><span>)</span> <span style=\\\"color:rgb(64, 128, 144);font-style:italic;\\\"># Submit the form and wait at most two minutes for loading to complete</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Note that you can also select forms with CSS2 selectors, like this:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>browser</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>select_form</span><span>(</span><span style=\\\"color:rgb(64, 112, 160);\\\">'form#login_form'</span><span>)</span>\\\n<span>browser</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>select_from</span><span>(</span><span style=\\\"color:rgb(64, 112, 160);\\\">'form[name=&quot;someform&quot;]'</span><span>)</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">parse_feeds</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.parse_feeds\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.parse_feeds\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Create a list of articles from the list of feeds returned by <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_feeds\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.get_feeds\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.get_feeds()</span></tt></a>.\\\nReturn a list of <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>Feed</span></tt> objects.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">parse_index</tt><big>(</big><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.parse_index\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.parse_index\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method should be implemented in recipes that parse a website\\\ninstead of feeds to generate a list of articles. Typical uses are for\\\nnews sources that have a “Print Edition” webpage that lists all the\\\narticles in the current print edition. If this function is implemented,\\\nit will be used in preference to <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.parse_feeds\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.parse_feeds\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.parse_feeds()</span></tt></a>.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">It must return a list. Each element of the list must be a 2-element tuple\\\nof the form <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:rgb(236, 240, 243);\\\"><span>('feed</span> <span>title',</span> <span>list</span> <span>of</span> <span>articles)</span></tt>.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Each list of articles must contain dictionaries of the form:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\">{\\\n'title'       : article title,\\\n'url'         : URL of print version,\\\n'date'        : The publication date of the article as a string,\\\n'description' : A summary of the article\\\n'content'     : The full article (can be an empty string). Obsolete\\\n                do not use, instead save the content to a temporary\\\n                file and pass a file:///path/to/temp/file.html as\\\n                the URL.\\\n}\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">For an example, see the recipe for downloading <cite>The Atlantic</cite>.\\\nIn addition, you can add ‘author’ for the author of the article.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If you want to abort processing for some reason and have\\\ncalibre show the user a simple message instead of an error, call\\\n<a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.abort_recipe_processing\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.abort_recipe_processing\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>abort_recipe_processing()</span></tt></a>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">populate_article_metadata</tt><big>(</big><em>article</em>, <em>soup</em>, <em>first</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.populate_article_metadata\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.populate_article_metadata\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Called when each HTML page belonging to article is downloaded.\\\nIntended to be used to get article metadata like author/summary/etc.\\\nfrom the parsed HTML (soup).\\\n:param article: A object of class <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>calibre.web.feeds.Article</span></tt>.\\\nIf you change the summary, remember to also change the\\\ntext_summary\\\n:param soup: Parsed HTML belonging to this article\\\n:param first: True iff the parsed HTML is the first page of the article.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">postprocess_book</tt><big>(</big><em>oeb</em>, <em>opts</em>, <em>log</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.postprocess_book\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.postprocess_book\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Run any needed post processing on the parsed downloaded e-book.</p>\\\n<table style=\\\"font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;margin-bottom:10px;border:0px;border-collapse:collapse;\\\">\\\n<colgroup><col></col>\\\n<col></col>\\\n</colgroup><tbody valign=\\\"top\\\">\\\n<tr><th style=\\\"text-align:left;background-color:rgb(238, 221, 238);padding:1px 8px 1px 5px;border:0px;\\\">Parameters:</th><td style=\\\"text-align:left;padding:1px 8px 1px 5px;border:0px;\\\"><ul style=\\\"padding-left:1em;margin:0px;\\\">\\\n<li style=\\\"text-align:justify;line-height:130%;\\\"><strong>oeb</strong> – An OEBBook object</li>\\\n<li style=\\\"text-align:justify;line-height:130%;\\\"><strong>opts</strong> – Conversion options</li>\\\n</ul>\\\n</td>\\\n</tr>\\\n</tbody>\\\n</table>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">postprocess_html</tt><big>(</big><em>soup</em>, <em>first_fetch</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.postprocess_html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.postprocess_html\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method is called with the source of each downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a> file, after\\\nit is parsed for links and images.\\\nIt can be used to do arbitrarily powerful post-processing on the <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.\\\nIt should return <cite>soup</cite> after processing it.</p>\\\n<table style=\\\"font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;margin-bottom:10px;border:0px;border-collapse:collapse;\\\">\\\n<colgroup><col></col>\\\n<col></col>\\\n</colgroup><tbody valign=\\\"top\\\">\\\n<tr><th style=\\\"text-align:left;background-color:rgb(238, 221, 238);padding:1px 8px 1px 5px;border:0px;\\\">Parameters:</th><td style=\\\"text-align:left;padding:1px 8px 1px 5px;border:0px;\\\"><ul style=\\\"padding-left:1em;margin:0px;\\\">\\\n<li style=\\\"text-align:justify;line-height:130%;\\\"><strong>soup</strong> – <p style=\\\"margin:0px;text-align:justify;line-height:130%;\\\">A <a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">BeautifulSoup</a>  instance containing the downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.</p>\\\n</li>\\\n<li style=\\\"text-align:justify;line-height:130%;\\\"><strong>first_fetch</strong> – True if this is the first page of an article.</li>\\\n</ul>\\\n</td>\\\n</tr>\\\n</tbody>\\\n</table>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">preprocess_html</tt><big>(</big><em>soup</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.preprocess_html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.preprocess_html\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method is called with the source of each downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a> file, before\\\nit is parsed for links and images. It is called after the cleanup as\\\nspecified by remove_tags etc.\\\nIt can be used to do arbitrarily powerful pre-processing on the <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.\\\nIt should return <cite>soup</cite> after processing it.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>soup</cite>: A <a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">BeautifulSoup</a>\\\ninstance containing the downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">preprocess_raw_html</tt><big>(</big><em>raw_html</em>, <em>url</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.preprocess_raw_html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.preprocess_raw_html\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method is called with the source of each downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a> file, before\\\nit is parsed into an object tree. raw_html is a unicode string\\\nrepresenting the raw HTML downloaded from the web. url is the URL from\\\nwhich the HTML was downloaded.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Note that this method acts <em>before</em> preprocess_regexps.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method must return the processed raw_html as a unicode object.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<em>classmethod </em><tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">print_version</tt><big>(</big><em>url</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.print_version\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.print_version\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Take a <cite>url</cite> pointing to the webpage with article content and return the\\\n<a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-url\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>URL</em></a> pointing to the print version of the article. By default does\\\nnothing. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">def</span> <span style=\\\"color:rgb(6, 40, 126);\\\">print_version</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">self</span><span>,</span> <span>url</span><span>):</span>\\\n    <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">return</span> <span>url</span> <span style=\\\"color:rgb(102, 102, 102);\\\">+</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'?&amp;pagewanted=print'</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">skip_ad_pages</tt><big>(</big><em>soup</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.skip_ad_pages\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.skip_ad_pages\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This method is called with the source of each downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a> file, before\\\nany of the cleanup attributes like remove_tags, keep_only_tags are\\\napplied. Note that preprocess_regexps will have already been applied.\\\nIt is meant to allow the recipe to skip ad pages. If the soup represents\\\nan ad page, return the HTML of the real page. Otherwise return\\\nNone.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>soup</cite>: A <a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">BeautifulSoup</a>\\\ninstance containing the downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">sort_index_by</tt><big>(</big><em>index</em>, <em>weights</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.sort_index_by\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.sort_index_by\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Convenience method to sort the titles in <cite>index</cite> according to <cite>weights</cite>.\\\n<cite>index</cite> is sorted in place. Returns <cite>index</cite>.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>index</cite>: A list of titles.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>weights</cite>: A dictionary that maps weights to titles. If any titles\\\nin index are not in weights, they are assumed to have a weight of 0.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<em>classmethod </em><tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">tag_to_string</tt><big>(</big><em>tag</em>, <em>use_alt=True</em>, <em>normalize_whitespace=True</em><big>)</big><a href=\\\"http://manual.calibre-ebook.com/_modules/calibre/web/feeds/news.html#BasicNewsRecipe.tag_to_string\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><span style=\\\"float:right;\\\">[source]</span></a><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.tag_to_string\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Convenience method to take a\\\n<a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">BeautifulSoup</a>\\\n<cite>Tag</cite> and extract the text from it recursively, including any CDATA sections\\\nand alt tag attributes. Return a possibly empty unicode string.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>use_alt</cite>: If <cite>True</cite> try to use the alt attribute for tags that don’t\\\nhave any textual content</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\"><cite>tag</cite>: <a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">BeautifulSoup</a>\\\n<cite>Tag</cite></p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">articles_are_obfuscated</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.articles_are_obfuscated\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Set to True and implement <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_obfuscated_article\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.get_obfuscated_article\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>get_obfuscated_article()</span></tt></a> to handle\\\nwebsites that try to make it difficult to scrape content.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">auto_cleanup</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.auto_cleanup\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Automatically extract all the text from downloaded article pages. Uses\\\nthe algorithms from the readability project. Setting this to True, means\\\nthat you do not have to worry about cleaning up the downloaded HTML\\\nmanually (though manual cleanup will always be superior).</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">auto_cleanup_keep</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.auto_cleanup_keep\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Specify elements that the auto cleanup algorithm should never remove.\\\nThe syntax is a XPath expression. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\">auto_cleanup_keep = '//div[@id=&quot;article-image&quot;]' will keep all divs with\\\n                                               id=&quot;article-image&quot;\\\nauto_cleanup_keep = '//*[@class=&quot;important&quot;]' will keep all elements\\\n                                            with class=&quot;important&quot;\\\nauto_cleanup_keep = '//div[@id=&quot;article-image&quot;]|//span[@class=&quot;important&quot;]'\\\n                  will keep all divs with id=&quot;article-image&quot; and spans\\\n                  with class=&quot;important&quot;\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">center_navbar</tt><em> = True</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.center_navbar\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If True the navigation bar is center aligned, otherwise it is left aligned</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">compress_news_images</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.compress_news_images\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Set this to False to ignore all scaling and compression parameters and\\\npass images through unmodified. If True and the other compression\\\nparameters are left at their default values, jpeg images will be scaled to fit\\\nin the screen dimensions set by the output profile and compressed to size at\\\nmost (w * h)/16 where w x h are the scaled image dimensions.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">compress_news_images_auto_size</tt><em> = 16</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.compress_news_images_auto_size\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">The factor used when auto compressing jpeg images. If set to None,\\\nauto compression is disabled. Otherwise, the images will be reduced in size to\\\n(w * h)/compress_news_images_auto_size bytes if possible by reducing\\\nthe quality level, where w x h are the image dimensions in pixels.\\\nThe minimum jpeg quality will be 5/100 so it is possible this constraint\\\nwill not be met.  This parameter can be overridden by the parameter\\\ncompress_news_images_max_size which provides a fixed maximum size for images.\\\nNote that if you enable scale_news_images_to_device then the image will\\\nfirst be scaled and then its quality lowered until its size is less than\\\n(w * h)/factor where w and h are now the <em>scaled</em> image dimensions. In\\\nother words, this compression happens after scaling.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">compress_news_images_max_size</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.compress_news_images_max_size\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Set jpeg quality so images do not exceed the size given (in KBytes).\\\nIf set, this parameter overrides auto compression via compress_news_images_auto_size.\\\nThe minimum jpeg quality will be 5/100 so it is possible this constraint\\\nwill not be met.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">conversion_options</tt><em> = {}</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.conversion_options\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Recipe specific options to control the conversion of the downloaded\\\ncontent into an e-book. These will override any user or plugin specified\\\nvalues, so only use if absolutely necessary. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>conversion_options</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>{</span>\\\n  <span style=\\\"color:rgb(64, 112, 160);\\\">'base_font_size'</span>   <span>:</span> <span style=\\\"color:rgb(32, 128, 80);\\\">16</span><span>,</span>\\\n  <span style=\\\"color:rgb(64, 112, 160);\\\">'tags'</span>             <span>:</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'mytag1,mytag2'</span><span>,</span>\\\n  <span style=\\\"color:rgb(64, 112, 160);\\\">'title'</span>            <span>:</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'My Title'</span><span>,</span>\\\n  <span style=\\\"color:rgb(64, 112, 160);\\\">'linearize_tables'</span> <span>:</span> <span style=\\\"color:rgb(0, 112, 32);\\\">True</span><span>,</span>\\\n<span>}</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">cover_margins</tt><em> = (0, 0, '#ffffff')</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.cover_margins\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">By default, the cover image returned by get_cover_url() will be used as\\\nthe cover for the periodical.  Overriding this in your recipe instructs\\\ncalibre to render the downloaded cover into a frame whose width and height\\\nare expressed as a percentage of the downloaded cover.\\\ncover_margins = (10, 15, ‘#ffffff’) pads the cover with a white margin\\\n10px on the left and right, 15px on the top and bottom.\\\nColor names defined at <a href=\\\"http://www.imagemagick.org/script/color.php\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">http://www.imagemagick.org/script/color.php</a>\\\nNote that for some reason, white does not always work on windows. Use\\\n#ffffff instead</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">delay</tt><em> = 0</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.delay\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Delay between consecutive downloads in seconds. The argument may be a\\\nfloating point number to indicate a more precise time.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">description</tt><em> = u''</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.description\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">A couple of lines that describe the content this recipe downloads.\\\nThis will be used primarily in a GUI that presents a list of recipes.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">encoding</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.encoding\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Specify an override encoding for sites that have an incorrect\\\ncharset specification. The most common being specifying <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:rgb(236, 240, 243);\\\"><span>latin1</span></tt> and\\\nusing <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:rgb(236, 240, 243);\\\"><span>cp1252</span></tt>. If None, try to detect the encoding. If it is a\\\ncallable, the callable is called with two arguments: The recipe object\\\nand the source to be decoded. It must return the decoded source.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">extra_css</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.extra_css\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Specify any extra <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-css\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>CSS</em></a> that should be added to downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a> files.\\\nIt will be inserted into <cite>&lt;style&gt;</cite> tags, just before the closing\\\n<cite>&lt;/head&gt;</cite> tag thereby overriding all <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-css\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>CSS</em></a> except that which is\\\ndeclared using the style attribute on individual <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a> tags.\\\nFor example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>extra_css</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'.heading { font: serif x-large }'</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">feeds</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.feeds\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">List of feeds to download.\\\nCan be either <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:rgb(236, 240, 243);\\\"><span>[url1,</span> <span>url2,</span> <span>...]</span></tt> or <tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:rgb(236, 240, 243);\\\"><span>[('title1',</span> <span>url1),</span> <span>('title2',</span> <span>url2),...]</span></tt></p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">filter_regexps</tt><em> = []</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.filter_regexps\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">List of regular expressions that determines which links to ignore.\\\nIf empty it is ignored. Used only if is_link_wanted is not\\\nimplemented. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>filter_regexps</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">r'ads\\\\.doubleclick\\\\.net'</span><span>]</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">will remove all URLs that have <cite>ads.doubleclick.net</cite> in them.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Only one of <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.match_regexps\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.match_regexps\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.match_regexps</span></tt></a> or\\\n<a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.filter_regexps\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.filter_regexps\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.filter_regexps</span></tt></a> should be defined.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">ignore_duplicate_articles</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.ignore_duplicate_articles\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Ignore duplicates of articles that are present in more than one section.\\\nA duplicate article is an article that has the same title and/or URL.\\\nTo ignore articles with the same title, set this to:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>ignore_duplicate_articles</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>{</span><span style=\\\"color:rgb(64, 112, 160);\\\">'title'</span><span>}</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">To use URLs instead, set it to:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>ignore_duplicate_articles</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>{</span><span style=\\\"color:rgb(64, 112, 160);\\\">'url'</span><span>}</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">To match on title or URL, set it to:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>ignore_duplicate_articles</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>{</span><span style=\\\"color:rgb(64, 112, 160);\\\">'title'</span><span>,</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'url'</span><span>}</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">keep_only_tags</tt><em> = []</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.keep_only_tags\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Keep only the specified tags and their children.\\\nFor the format for specifying a tag see <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.remove_tags</span></tt></a>.\\\nIf this list is not empty, then the <cite>&lt;body&gt;</cite> tag will be emptied and re-filled with\\\nthe tags that match the entries in this list. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>keep_only_tags</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span><span style=\\\"color:rgb(0, 112, 32);\\\">dict</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">id</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">'content'</span><span>,</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'heading'</span><span>])]</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">will keep only tags that have an <cite>id</cite> attribute of <cite>“content”</cite> or <cite>“heading”</cite>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">language</tt><em> = 'und'</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.language\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">The language that the news is in. Must be an ISO-639 code either\\\ntwo or three characters long</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">masthead_url</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.masthead_url\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">By default, calibre will use a default image for the masthead (Kindle only).\\\nOverride this in your recipe to provide a url to use as a masthead.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">match_regexps</tt><em> = []</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.match_regexps\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">List of regular expressions that determines which links to follow.\\\nIf empty, it is ignored. Used only if is_link_wanted is\\\nnot implemented. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>match_regexps</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">r'page=[0-9]+'</span><span>]</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">will match all URLs that have <cite>page=some number</cite> in them.</p>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Only one of <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.match_regexps\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.match_regexps\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.match_regexps</span></tt></a> or\\\n<a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.filter_regexps\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.filter_regexps\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.filter_regexps</span></tt></a> should be defined.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">max_articles_per_feed</tt><em> = 100</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.max_articles_per_feed\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Maximum number of articles to download from each feed. This is primarily\\\nuseful for feeds that don’t have article dates. For most feeds, you should\\\nuse <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.oldest_article\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.oldest_article\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.oldest_article</span></tt></a></p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">needs_subscription</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.needs_subscription\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If True the GUI will ask the user for a username and password\\\nto use while downloading.\\\nIf set to “optional” the use of a username and password becomes optional</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">no_stylesheets</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.no_stylesheets\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Convenient flag to disable loading of stylesheets for websites\\\nthat have overly complex stylesheets unsuitable for conversion\\\nto ebooks formats.\\\nIf True stylesheets are not downloaded and processed</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">oldest_article</tt><em> = 7.0</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.oldest_article\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Oldest article to download from this news source. In days.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">preprocess_regexps</tt><em> = []</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.preprocess_regexps\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">List of <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-regexp\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>regexp</em></a> substitution rules to run on the downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.\\\nEach element of the\\\nlist should be a two element tuple. The first element of the tuple should\\\nbe a compiled regular expression and the second a callable that takes\\\na single match object and returns a string to replace the match. For example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>preprocess_regexps</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span>\\\n   <span>(</span><span>re</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>compile</span><span>(</span><span style=\\\"color:rgb(64, 112, 160);\\\">r'&lt;!--Article ends here--&gt;.*&lt;/body&gt;'</span><span>,</span> <span>re</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>DOTALL</span><span style=\\\"color:rgb(102, 102, 102);\\\">|</span><span>re</span><span style=\\\"color:rgb(102, 102, 102);\\\">.</span><span>IGNORECASE</span><span>),</span>\\\n    <span style=\\\"color:rgb(0, 112, 32);font-weight:bold;\\\">lambda</span> <span>match</span><span>:</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'&lt;/body&gt;'</span><span>),</span>\\\n<span>]</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">will remove everything from <cite>&lt;!–Article ends here–&gt;</cite> to <cite>&lt;/body&gt;</cite>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">publication_type</tt><em> = 'unknown'</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.publication_type\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Publication type\\\nSet to newspaper, magazine or blog. If set to None, no publication type\\\nmetadata will be written to the opf file.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">recipe_disabled</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.recipe_disabled\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Set to a non empty string to disable this recipe.\\\nThe string will be used as the disabled message</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">recursions</tt><em> = 0</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.recursions\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Number of levels of links to follow on article webpages</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">remove_attributes</tt><em> = []</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_attributes\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">List of attributes to remove from all tags.\\\nFor example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>remove_attributes</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span><span style=\\\"color:rgb(64, 112, 160);\\\">'style'</span><span>,</span> <span style=\\\"color:rgb(64, 112, 160);\\\">'font'</span><span>]</span>\\\n</pre></div>\\\n</div>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">remove_empty_feeds</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_empty_feeds\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If True empty feeds are removed from the output.\\\nThis option has no effect if parse_index is overridden in\\\nthe sub class. It is meant only for recipes that return a list\\\nof feeds using <cite>feeds</cite> or <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.get_feeds\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.get_feeds\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>get_feeds()</span></tt></a>. It is also used if you use\\\nthe ignore_duplicate_articles option.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">remove_javascript</tt><em> = True</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_javascript\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Convenient flag to strip all javascript tags from the downloaded HTML</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">remove_tags</tt><em> = []</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">List of tags to be removed. Specified tags are removed from downloaded HTML.\\\nA tag is specified as a dictionary of the form:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\">{\\\n name      : 'tag name',   #e.g. 'div'\\\n attrs     : a dictionary, #e.g. {class: 'advertisment'}\\\n}\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">All keys are optional. For a full explanation of the search criteria, see\\\n<a href=\\\"http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#Searching%20the%20Parse%20Tree\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\">Beautiful Soup</a>\\\nA common example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>remove_tags</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span><span style=\\\"color:rgb(0, 112, 32);\\\">dict</span><span>(</span><span>name</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span style=\\\"color:rgb(64, 112, 160);\\\">'div'</span><span>,</span> <span>attrs</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span>{</span><span style=\\\"color:rgb(64, 112, 160);\\\">'class'</span><span>:</span><span style=\\\"color:rgb(64, 112, 160);\\\">'advert'</span><span>})]</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">This will remove all <cite>&lt;div class=”advert”&gt;</cite> tags and all\\\ntheir children from the downloaded <a href=\\\"http://manual.calibre-ebook.com/glossary.html#term-html\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\"><em>HTML</em></a>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">remove_tags_after</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_tags_after\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Remove all tags that occur after the specified tag.\\\nFor the format for specifying a tag see <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.remove_tags</span></tt></a>.\\\nFor example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>remove_tags_after</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span>[</span><span style=\\\"color:rgb(0, 112, 32);\\\">dict</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">id</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span style=\\\"color:rgb(64, 112, 160);\\\">'content'</span><span>)]</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">will remove all\\\ntags after the first element with <cite>id=”content”</cite>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">remove_tags_before</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_tags_before\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Remove all tags that occur before the specified tag.\\\nFor the format for specifying a tag see <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.remove_tags\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.remove_tags</span></tt></a>.\\\nFor example:</p>\\\n<div><div style=\\\"background:rgb(238, 255, 204);\\\"><pre style=\\\"overflow-x:auto;overflow-y:hidden;padding:5px;color:rgb(51, 51, 51);line-height:120%;border-top-width:1px;border-bottom-width:1px;border-style:solid none;border-top-color:rgb(170, 204, 153);border-bottom-color:rgb(170, 204, 153);background-color:rgb(238, 255, 204);\\\"><span>remove_tags_before</span> <span style=\\\"color:rgb(102, 102, 102);\\\">=</span> <span style=\\\"color:rgb(0, 112, 32);\\\">dict</span><span>(</span><span style=\\\"color:rgb(0, 112, 32);\\\">id</span><span style=\\\"color:rgb(102, 102, 102);\\\">=</span><span style=\\\"color:rgb(64, 112, 160);\\\">'content'</span><span>)</span>\\\n</pre></div>\\\n</div>\\\n<p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">will remove all\\\ntags before the first element with <cite>id=”content”</cite>.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">requires_version</tt><em> = (0, 6, 0)</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.requires_version\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Minimum calibre version needed to use this recipe</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">reverse_article_order</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.reverse_article_order\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Reverse the order of articles in each feed</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">scale_news_images</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.scale_news_images\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Maximum dimensions (w,h) to scale images to. If scale_news_images_to_device is True\\\nthis is set to the device screen dimensions set by the output profile unless\\\nthere is no profile set, in which case it is left at whatever value it has been\\\nassigned (default None).</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">scale_news_images_to_device</tt><em> = True</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.scale_news_images_to_device\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Rescale images to fit in the device screen dimensions set by the output profile.\\\nIgnored if no output profile is set.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">simultaneous_downloads</tt><em> = 5</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.simultaneous_downloads\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Number of simultaneous downloads. Set to 1 if the server is picky.\\\nAutomatically reduced to 1 if <a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.delay\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.delay\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>BasicNewsRecipe.delay</span></tt></a> &gt; 0</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">summary_length</tt><em> = 500</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.summary_length\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Max number of characters in the short description</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">template_css</tt><em> = u'\\\\\n            .article_date {\\\\\n                color: gray; font-family: monospace;\\\\\n            }\\\\\n\\\\\n            .article_description {\\\\\n                text-indent: 0pt;\\\\\n            }\\\\\n\\\\\n            a.article {\\\\\n                font-weight: bold; text-align:left;\\\\\n            }\\\\\n\\\\\n            a.feed {\\\\\n                font-weight: bold;\\\\\n            }\\\\\n\\\\\n            .calibre_navbar {\\\\\n                font-family:monospace;\\\\\n            }\\\\\n    '</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.template_css\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">The CSS that is used to style the templates, i.e., the navigation bars and\\\nthe Tables of Contents. Rather than overriding this variable, you should\\\nuse <cite>extra_css</cite> in your recipe to customize look and feel.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">timefmt</tt><em> = ' [%a, %d %b %Y]'</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.timefmt\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">The format string for the date shown on the first page.\\\nBy default: Day_Name, Day_Number Month_Name Year</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">timeout</tt><em> = 120.0</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.timeout\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Timeout for fetching files from server in seconds</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">title</tt><em> = u'Unknown News Source'</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.title\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">The title to use for the ebook</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">use_embedded_content</tt><em> = None</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.use_embedded_content\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">Normally we try to guess if a feed has full articles embedded in it\\\nbased on the length of the embedded content. If <cite>None</cite>, then the\\\ndefault guessing is used. If <cite>True</cite> then the we always assume the feeds has\\\nembedded content and if <cite>False</cite> we always assume the feed does not have\\\nembedded content.</p>\\\n</dd></dl>\\\n\\\n<dl style=\\\"margin-bottom:15px;\\\">\\\n<dt>\\\n<tt style=\\\"padding:0px 1px;font-size:1.2em;background-color:transparent;font-weight:bold;\\\">use_javascript_to_login</tt><em> = False</em><a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.use_javascript_to_login\\\" style=\\\"color:rgb(198, 15, 15);text-decoration:none;visibility:hidden;font-size:0.8em;padding:0px 4px;\\\" title=\\\"Permalink to this definition\\\">¶</a></dt>\\\n<dd style=\\\"margin-top:3px;margin-bottom:10px;margin-left:30px;text-align:justify;line-height:130%;\\\"><p style=\\\"margin-top:0px;text-align:justify;line-height:130%;\\\">If you set this True, then calibre will use javascript to login to the\\\nwebsite. This is needed for some websites that require the use of\\\njavascript to login. If you set this to True you must implement the\\\n<a href=\\\"http://manual.calibre-ebook.com/news_recipe.html#calibre.web.feeds.news.BasicNewsRecipe.javascript_login\\\" style=\\\"color:rgb(53, 95, 124);text-decoration:none;\\\" title=\\\"calibre.web.feeds.news.BasicNewsRecipe.javascript_login\\\"><tt style=\\\"padding:0px 1px;font-size:0.95em;background-color:transparent;font-weight:bold;\\\"><span>javascript_login()</span></tt></a> method, to do the actual logging in.</p>\\\n</dd></dl>\\\n\\\n</dd></dl>\\\n\\\n</div></div></div></div></div></div></div></div><br/></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":107145}]"
metadata_diff: {"new":{"id":"a54cbed8e5d3480a82f748919545c690","parent_id":"f67288c3a0be4374b5d532b5dcc3aabc","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764348816236,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T21:03:16.329Z
created_time: 2025-11-28T21:03:16.329Z
type_: 13