API documentatie voor recepten

De API voor het schrijven van recepten is bepaald door de BasicNewsRecipe

class calibre.web.feeds.news.BasicNewsRecipe(options, log, progress_reporter)[broncode]

Basisklasse die logica bevat die nodig is in alle recepten. Door steeds meer functionaliteit in deze klasse te overschrijven, kunt u steeds meer aangepaste/krachtige recepten maken. Voor een handleiding introductie tot het maken van recepten, zie Uw favoriete nieuws website toevoegen.

classmethod adeify_images(soup)[broncode]

Als je recept dat is geconverteerd naar EPUB problemen heeft met afbeeldingen bekeken in Adobe Digital Editions, gebruik je deze methode vanuit postprocess_html().

classmethod image_url_processor(baseurl, url)[broncode]

Voer enkele bewerkingen uit op afbeeldings-URL’s (bijvoorbeeld het verwijderen van groottebeperkingen voor dynamisch gegenereerde afbeeldingen, enz.) en retourneer de bewerkte URL. Retourneer None of een lege tekenreeks om het ophalen van de afbeelding over te slaan.

classmethod print_version(url)[broncode]

Neem een ​​`url` wijzend naar de webpagina met artikelinhoud en retourneer de URL wijzend naar de gedrukte versie van het artikel. Doet standaard niets. Bijvoorbeeld:

def print_version(self, url):
    return url + '?&pagewanted=print'
classmethod tag_to_string(tag, use_alt=True, normalize_whitespace=True)[broncode]

Gemaksmethode om een ​​`BeautifulSoup <https://www.crummy.com/software/BeautifulSoup/b43/doc>` _ Tag te nemen en de tekst er recursief uit te halen, inclusief eventuele CDATA-secties en alt tagattributen. Geeft een mogelijk lege Unicode string terug.

use_alt: Als` True` probeer het alt-attribuut te gebruiken voor labels die geen tekstuele inhoud hebben

tag: BeautifulSoup Tag

abort_article(msg=None)[broncode]

Gebruik deze methode in een van de voorbewerk-methoden om de download voor het huidige artikel te beëindigen. Handig om artikelen over te slaan die ongepaste inhoud bevatten, zoals pure video-artikelen.

abort_recipe_processing(msg)[broncode]

Zorgt ervoor dat het downloadsysteem voor recepten het downloaden van recepten afbreekt, en er een simpel feedback-bericht aan de gebruiker wordt weergegeven.

add_toc_thumbnail(article, src)[broncode]

Gebruik dit vanuit populate_article_metadata met het src attribuut van een <img>label uit het artikel dat geschikt is om te gebruiken als de miniatuur die het artikel in de inhoudsopgave weergeeft. Of de miniatuur daadwerkelijk wordt gebruikt, is apparaatafhankelijk (momenteel alleen in gebruik bij de Kindles). Merk op dat de bedoelde afbeelding er een moet zijn die succesvol is gedownload, anders wordt deze genegeerd.

canonicalize_internal_url(url, is_link=True)[broncode]

Retourneer een set canonieke representaties van `` url``. De standaardimplementatie gebruikt alleen de hostnaam van de server en het pad van de URL, waarbij alle zoekparameters, fragmenten, enzovoort worden genegeerd. De canonieke weergaven moeten uniek zijn voor alle URL’s voor deze nieuwsbron. Als dat niet het geval is, kunnen interne links onjuist worden opgelost.

Parameters:

is_link – Is Waar als de URL afkomstig is van een interne link in een HTML-bestand. Onwaar als de URL de URL is die werd gebruikt om een ​​artikel te downloaden.

cleanup()[broncode]

Gebruikt nadat alle artikelen zijn gedownload. Gebruik het om op te schonen, zoals het afmelden van abonnementssites, enz.

clone_browser(br)[broncode]

Kloon de browser br. Gekloonde browsers worden gebruikt voor multi-threaded downloads, omdat mechaniseren niet thread safe is. De standaard kloneringsroutines moeten de meeste browseraanpassingen vastleggen, maar als u iets exotisch in uw recept doet, moet u deze methode in uw recept overschrijven en handmatig klonen.

Gekloonde browserinstances gebruiken standaard dezelfde, thread-safe CookieJar, tenzij u aangepaste cookieverwerking hebt ingesteld.

default_cover(cover_file)[broncode]

Maak een algemene omslag voor recepten die geen omslag hebben

download()[broncode]

Download en verwerk alle artikelen uit de feeds in dit recept. Deze methode moet slechts één keer worden aangeroepen voor een bepaalde receptinstantie. Meer dan één keer aanroepen zal leiden tot ongedefinieerd gedrag. :return: Path to index.html

extract_readable_article(html, url)[broncode]

Haalt inhoud van hoofdartikel uit ‘html’, ruimt op en retourneert als een (article_html, extracted_title) tupel. Gebaseerd op het oorspronkelijke leesbaarheidsalgoritme van Arc90.

get_article_url(article)[broncode]

Overschrijf in een subklasse om de extractie van de URL die naar de inhoud van elk artikel verwijst, aan te passen. Geef de URL van het artikel terug. Het wordt aangeroepen met article, een object dat een geparseerd artikel uit een feed vertegenwoordigt. Zie feedparser. Standaard zoekt het naar de originele link (voor feeds die worden gesyndiceerd via een dienst als FeedBurner of Pheedo) en als die wordt gevonden, retourneert het die, anders retourneert het article.link.

get_browser(*args, **kwargs)[broncode]

Geef een browserinstantie terug die wordt gebruikt om documenten van het web op te halen. Standaard wordt een mechanize browserinstantie teruggegeven die cookies ondersteunt, robots.txt negeert, vernieuwingen afhandelt en een willekeurige algemene user agent heeft.

Om de browser aan te passen, overschrijf je deze methode in je subklasse als volgt:

def get_browser(self, *a, **kw):
    br = super().get_browser(*a, **kw)
    # Add some headers
    br.addheaders += [
        ('My-Header', 'one'),
        ('My-Header2', 'two'),
    ]
    # Set some cookies
    br.set_cookie('name', 'value')
    br.set_cookie('name2', 'value2', domain='.mydomain.com')
    # Make a POST request with some data
    br.open('https://someurl.com', {'username': 'def', 'password': 'pwd'}).read()
    # Do a login via a simple web form (only supported with mechanize browsers)
    if self.username is not None and self.password is not None:
        br.open('https://www.nytimes.com/auth/login')
        br.select_form(name='login')
        br['USERID']   = self.username
        br['PASSWORD'] = self.password
        br.submit()
    return br
get_cover_url()[broncode]

Retourneer een URL naar de omslagafbeelding voor deze editie of` Geen. Standaard retourneert het de waarde van het lid self.cover_url dat normaal` Geen` is. Als u wilt dat uw recept een omslag voor het e-book download, vervangt u deze methode in uw subklasse of stelt u de lid-variabele self.cover_url in voordat deze methode wordt aangeroepen.

get_extra_css()[broncode]

Retourneert standaard self.extra_css. Negeren als je de extra_css programmatisch wilt genereren.

get_feeds()[broncode]

Retourneer een lijst met RSS-feeds om op te halen voor dit profiel. Elk element van de lijst moet een 2-elementen-tupel van het formaat (titel, URL) zijn. Als de titel Geen of een lege tekenreeks is, wordt de titel uit de feed gebruikt. Deze methode is handig als uw recept een aantal bewerkingen moet uitvoeren om uit te zoeken welke feeds moeten worden gedownload. Als dit het geval is, overschrijft dit in uw subklasse.

get_masthead_title()[broncode]

Overschrijven in subklasse om iets anders dan de recept-titel te gebruiken

get_masthead_url()[broncode]

Retourneer een URL naar de masthead-afbeelding voor deze editie of` Geen. Standaard retourneert het de waarde van het lid self.masthead_url dat normaal` Geen` is. Als u wilt dat uw recept een masthead voor het e-book download, vervangt u deze methode in uw subklasse of stelt u de lid-variabele self.masthead_url in voordat deze methode wordt aangeroepen. Masthead-afbeeldingen worden gebruikt in Kindle MOBI-bestanden.

get_obfuscated_article(url)[broncode]

Als u articles_are_obfuscated instelt, wordt deze methode bij elke artikel-URL aangeroepen. Deze moet het pad naar een bestand op het bestandssysteem retourneren dat de HTML-code van het artikel bevat. Dat bestand wordt verwerkt door de recursieve HTML-fetch-engine, zodat het links naar pagina’s/afbeeldingen op het web kan bevatten. Als alternatief kunt u een woordenboek retourneren in de vorm: {‘data’: <HTML data>, ‘url’: <the resolved URL of the article>}. Hierdoor hoeft u geen tijdelijke bestanden aan te maken. De url-sleutel in het woordenboek is handig als de effectieve URL van het artikel verschilt van de URL die aan deze methode wordt doorgegeven, bijvoorbeeld vanwege omleidingen. Deze kan worden weggelaten als de URL ongewijzigd is.

Deze methode is meestal nuttig voor sites die het moeilijk maken om automatisch toegang te krijgen tot artikelinhoud.

get_url_specific_delay(url)[broncode]

Geef de vertraging in seconden weer voordat deze URL wordt gedownload. Als u de vertraging voor de opgegeven URL programmatisch wilt bepalen, overschrijf dan deze methode in uw subklasse en geef standaard self.delay weer voor URL’s die u niet wilt beïnvloeden.

Retouren:

Een drijvende-kommagetal, de vertraging in seconden.

index_to_soup(url_or_raw, raw=False, as_tree=False, save_raw=None)[broncode]

Gemaksmethode die een URL naar de indexpagina brengt en een BeautifulSoup <https://www.crummy.com/software/BeautifulSoup/bs4/doc> _ terug geeft.

url_or_raw: ofwel een URL of de gedownloade indexpagina als een tekenreeks

Retourneer Waar als de link moet worden gevolgd of anders Onwaar. Hiermee wordt standaard NotImplementedError gezet waardoor de downloader deze negeert.

Parameters:
  • url – De te volgen URL

  • tag – Het label waarvan de URL is afgeleid

parse_feeds()[broncode]

Maak een lijst met artikelen uit de lijst met feeds geretourneerd door BasicNewsRecipe.get_feeds(). Retourneer een lijst met Feed objecten.

parse_index()[broncode]

Deze methode moet worden geïmplementeerd in recepten die een website verwerken in plaats van feeds om een ​​lijst met artikelen te genereren. Typische toepassingen zijn voor nieuwsbronnen met een “Printeditie” -webpagina met een overzicht van alle artikelen in de huidige gedrukte editie. Als deze functie is geïmplementeerd, wordt deze gebruikt in plaats van BasicNewsRecipe.parse_feeds().

Het moet een lijst retourneren. Elk element van de lijst moet een 2-elementen tupel zijn van de vorm ('feed title', lijst van artikelen).

Elke lijst met artikelen moet woordenboeken bevatten met de vorm:

{
'title'       : article title,
'url'         : URL of print version,
'date'        : The publication date of the article as a string,
'description' : A summary of the article
'content'     : The full article (can be an empty string). Obsolete
                do not use, instead save the content to a temporary
                file and pass a file:///path/to/temp/file.html as
                the URL.
}

Als voorbeeld zie het recept voor het downloaden van The Atlantic. Daarnaast kunt u ‘author’ toevoegen voor de auteur van het artikel.

Als u de verwerking om een ​​of andere reden wilt afbreken en Calibre aan de gebruiker een eenvoudig bericht in plaats van een fout wilt laten tonen, roep dan meth: abort_recipe_processing aan.

populate_article_metadata(article, soup, first)[broncode]

Wordt aangeroepen wanneer elke HTML-pagina die bij het artikel hoort wordt gedownload. Bedoeld om te worden gebruikt om artikelmetadata te krijgen zoals auteur / samenvatting / enz. van de bewerkte HTML (soep).

Parameters:
  • article – Een object van klasse Calibre.web.feeds.Article. Als u de samenvatting wijzigt, vergeet dan niet om ook de text_summary te wijzigen

  • soup – Bewerkte HTML behorend bij dit artikel

  • first – Waar als de bewerkte HTML de eerste pagina van het artikel is.

postprocess_book(oeb, opts, log)[broncode]

Voer de benodigde nabewerking uit op het bewerkte gedownloade e-boek.

Parameters:
  • oeb – Een OEBBoek object

  • opts – Omzet opties

postprocess_html(soup, first_fetch)[broncode]

Deze methode wordt aangeroepen met de bron van elk gedownload HTML bestand, nadat het is bewerkt voor koppelingen en afbeeldingen. Het kan worden gebruikt om willekeurig krachtige post-processing uit te voeren op de HTML. Het moet soup teruggeven na bewerking.

Parameters:
  • soup – Een BeautifulSoup <https://www.crummy.com/software/BeautifulSoup/bs4/doc> _ instantie die de gedownloade HTML bevat.

  • first_fetch – Waar als dit de eerste pagina van een artikel is.

preprocess_html(soup)[broncode]

Deze methode wordt aangeroepen met de bron van elk gedownload HTML bestand, voor dat het is bewerkt voor koppelingen en afbeeldingen. Het wordt aangeroepen na het opschonen zoals gevraagd door remove_tags enz. Het kan worden gebruikt om willekeurig krachtige post-processing uit te voeren op de HTML. Het moet soup teruggeven na bewerking.

soup: Een BeautifulSoup <https://www.crummy.com/software/BeautifulSoup/bs4/doc> _ instantie die de gedownloade HTML bevat.

preprocess_image(img_data, image_url)[broncode]

Voer enige bewerking uit op gedownloade afbeeldingsgegevens. Dit wordt aangeroepen voor de onbewerkte gegevens voordat enige formaat wijziging is gedaan. Moet de verwerkte onbewerkte gegevens retourneren. Retourneer None om de afbeelding over te slaan.

preprocess_raw_html(raw_html, url)[broncode]

Deze methode wordt aangeroepen met de bron van elk gedownload HTML bestand, voordat het is bewerkt in een object-boom. raw_html is een unicode-tekenreeks die de onbewerkte HTML vertegenwoordigt die is gedownload van internet. url is de URL van waaruit de HTML is gedownload.

Merk op dat deze methode werkt * vóór * preprocess_regexps.

Deze methode moet de bewerkte raw_html retourneren als een unicode-object.

publication_date()[broncode]

Gebruik deze methode om de datum in te stellen waarop dit nummer is gepubliceerd. Standaard is dit het moment van downloaden. Moet een datetime.datetime-object retourneren.

skip_ad_pages(soup)[broncode]

Deze methode wordt aangeroepen met de bron van elk gedownload HTML bestand, voordat een van de opschoonattributen zoals remove_tags, keep_only_tags worden toegepast. Merk op dat preprocess_regexps al is toegepast. Het is bedoeld om het recept toe te staan ​​advertentiepagina’s over te slaan. Als de soep een advertentiepagina vertegenwoordigt, retourneert u de HTML-code van de echte pagina. Anders retourneert u Geen.

soup: Een BeautifulSoup <https://www.crummy.com/software/BeautifulSoup/bs4/doc> _ instantie die de gedownloade HTML bevat.

sort_index_by(index, weights)[broncode]

Gemaksmethode om de titels in index te sorteren volgens` gewichten`. index wordt op zijn plaats gesorteerd. Retourneert index.

index: Een lijst van titels.

gewichten: een woordenboek dat gewichten toewijst aan titels. Als titels in de index niet in ‘gewichten’ voorkomen, wordt aangenomen dat ze een gewicht van 0 hebben.

articles_are_obfuscated = False

Stel in op True en implementeer get_obfuscated_article() om websites te beheren die het moeilijk maken om inhoud te schrapen.

auto_cleanup = False

Haal automatisch alle tekst uit de gedownloade artikelpagina’s. Gebruikt de algoritmen van het leesbaarheidsproject. Als u dit instelt op True, betekent dit dat u zich geen zorgen hoeft te maken over het handmatig opschonen van de gedownloade HTML (hoewel handmatige opschoning altijd beter is).

auto_cleanup_keep = None

Geef elementen op die het algoritme voor automatische opruiming nooit mag verwijderen. De syntaxis is een XPath-uitdrukking. Bijvoorbeeld:

auto_cleanup_keep = '//div[@id="article-image"]' will keep all divs with
                                               id="article-image"
auto_cleanup_keep = '//*[@class="important"]' will keep all elements
                                            with class="important"
auto_cleanup_keep = '//div[@id="article-image"]|//span[@class="important"]'
                  will keep all divs with id="article-image" and spans
                  with class="important"
browser_type = 'mechanize'

De gesimuleerde browser-engine die moet worden gebruikt bij het downloaden van servers. Standaard wordt de Python mechanize-browser-engine gebruikt, die inloggen ondersteunt. Als u echter niet hoeft in te loggen, kunt u overwegen om dit te wijzigen in ‘webengine’, die een echte Chromium-browser gebruikt om de netwerkverzoeken uit te voeren, of ‘qt’, die de Qt Networking-backend gebruikt. Zowel ‘webengine’ als ‘qt’ ondersteunen HTTP/2, wat mechanize niet doet, en zijn daardoor moeilijker te identificeren voor botbeveiligingsdiensten.

center_navbar = True

Indien Waar dan is de navigatiebalk gecentreerd, anders is deze links uitgelijnd

compress_news_images = False

Stel deze optie in op False om alle schaal- en compressieparameters te negeren en afbeeldingen ongewijzigd door te geven. Als deze optie is ingesteld op True en de andere compressieparameters op hun standaardwaarden blijven staan, worden afbeeldingen geschaald zodat ze passen binnen de schermafmetingen die zijn ingesteld door het uitvoerprofiel en gecomprimeerd tot maximaal (w * h)/16, waarbij w x h de geschaalde afbeeldingsafmetingen zijn.

compress_news_images_auto_size = 16

De factor gebruikt bij automatisch comprimeren van JPEG afbeeldingen. Indien ingesteld op Geen, is automatische compressie uitgeschakeld. Anders worden afbeeldingen verkleind naar (w*h)/compress_news_images_auto_size bytes indien mogelijk door verlaging kwaliteitsniveau, waarbij w x h de afbeeldingsdimensies in pixels zijn. Minimale JPEG-kwaliteit is 5/100, deze beperking wordt dus mogelijk niet gehaald. Deze parameter kan genegeerd worden door de parameter compress_news_images_max_size die een vaste maximumgrootte voor afbeeldingen biedt. Merk op dat als u scale_news_images_to_device inschakelt, de afbeelding eerst geschaald wordt en dan de kwaliteit verlaagd totdat de grootte minder is dan (w * h)/factor, waarbij w en h nu de afmetingen van de geschaalde afbeelding zijn. Met andere woorden, deze compressie gebeurt na het schalen.

compress_news_images_max_size = None

Stel JPEG-kwaliteit in zodat afbeeldingen de gegeven grootte (in KBytes) niet overschrijden. Indien ingesteld, negeert deze parameter automatische compressie via compress_news_images_auto_size. De minimale JPEG-kwaliteit is 5/100, deze beperking wordt dus mogelijk niet gehaald.

conversion_options = {}

Receptspecifieke opties om de conversie van de gedownloade content naar een e-book te sturen. Deze zullen elke door gebruiker of plugin opgegeven waarden overschrijven, dus alleen gebruiken als dit absoluut noodzakelijk is. Bijvoorbeeld:

conversion_options = {
  'base_font_size'   : 16,
  'linearize_tables' : True,
}
cover_margins = (0, 0, '#ffffff')

Standaard wordt de omslagafbeelding teruggegeven door get_cover_url() gebruikt als omslag voor het tijdschrift. Dit negeren in uw recept zegt calibre de gedownloade omslag in een frame weer te geven waar breedte en hoogte zijn uitgedrukt als een percentage van de gedownloade omslag. cover_margins = (10, 15, ‘#ffffff’) geeft de hoes een witte marge van 10px links en rechts, 15px boven en onder. Kleurnamen gedefinieerd hier. Merk op dat om welke reden dan ook wit niet altijd werkt in Windows. Gebruik in plaats daarvan #ffffff

delay = 0

De standaardvertraging tussen opeenvolgende downloads in seconden. Het argument kan een drijvende-kommagetal zijn om een nauwkeurigere tijd aan te geven. Zie get_url_specific_delay() om vertragingen per URL te implementeren.

description = ''

Een paar regels die de inhoud beschrijven die door dit recept wordt gedownload. Dit wordt voornamelijk gebruikt in een GUI die een lijst met recepten aanbiedt.

encoding = None

Geef een overschrijf-codering op voor sites met een onjuiste karakterset-specificatie. De meest gebruikelijke is ‘latin1` opgeven en “cp1252” gebruiken. Als None, probeer de codering te detecteren. Als het een aanroepbare is, wordt deze aangeroepen met twee argumenten: het receptobject en de bron die moet worden gedecodeerd. Het moet de gedecodeerde bron retourneren.

extra_css = None

Specificeer elke extra CSS die toegevoegd moet worden aan gedownloadde HTML. Het wordt ingevoegd in <style> tags, net voor de sluit </head> tag daarbij alle CSS negerend behalve wat is aangegeven met gebruik van het stijl attribuut bij individuele HTML tags. Merk op dat als u programmatisch de extra_css wilt genereren, negeer de get_extra_css() methode. Bv.:

extra_css = '.heading { font: serif x-large }'
feeds = None

Lijst met feeds om te downloaden. Kan zowel [url1, url2, ...] als [('title1', url1), ('title2', url2),...] zijn

filter_regexps = []

Lijst met reguliere expressies die bepalen welke links moeten worden genegeerd. Als deze leeg is, wordt deze genegeerd. Wordt alleen gebruikt als is_link_wanted niet is geïmplementeerd. Bijvoorbeeld:

filter_regexps = [r'ads\.doubleclick\.net']

verwijdert alle URLs met ads.doubleclick.net erin.

Maar één van BasicNewsRecipe.match_regexps of BasicNewsRecipe.filter_regexps mag gedefinieerd zijn.

handle_gzip = True

Stel deze optie in op False als u geen gebruik wilt maken van gzipped transfers met de mechanize browser. Houd er rekening mee dat sommige oude servers niet goed werken met gzip.

ignore_duplicate_articles = None

Negeer dubbels van artikels die in meermaals aanwezig zijn. Een dubbel artikel is een artikel dat dezelfde titel en/of URL heeft. Om artikelen met dezelfde titel te negeren, stel dit in op:

ignore_duplicate_articles = {'title'}

Om in plaats daarvan URL’s te gebruiken, stel het in op:

ignore_duplicate_articles = {'url'}

Om te matchen op titel of URL, stel het in op:

ignore_duplicate_articles = {'title', 'url'}
keep_only_tags = []

Behoud enkel de gespecificeerde tags en hun kinderen. Voor het formaat om een tag te specificeren, zie BasicNewsRecipe.remove_tags. Als deze lijst niet leeg is, wordt de <body> tag geleegd en hervuld met de tags die overeenkomen met de vermeldingen in deze lijst. Bv.:

keep_only_tags = [dict(id=['content', 'heading'])]

behoud enkel tags die een id attribuut hebben van “content” of “heading”.

language = 'und'

De taal van het nieuws. Moet een ISO-639 code zijn, twee of drie karakters lang

masthead_url = None

Standaard gebruikt Calibre een standaardafbeelding voor de masthead (alleen Kindle). Wijzig dit in je recept om een URL op te geven die als masthead moet worden gebruikt.

match_regexps = []

Lijst met reguliere expressies die bepaalt welke links te volgen. Wordt genegeerd indien leeg. Enkel gebruikt als is_link_wanted niet geïmplementeerd is. Bv.:

match_regexps = [r'page=[0-9]+']

komt overeen met alle URLs die page=some number becatten.

Maar één van BasicNewsRecipe.match_regexps of BasicNewsRecipe.filter_regexps mag gedefinieerd zijn.

max_articles_per_feed = 100

Maximaal aantal artikelen te downloaden van elke feed. Dit is vooral bruikbaar voor feeds die geen artikeldatum hebben. Voor de meeste feeds moet u BasicNewsRecipe.oldest_article gebruiken

needs_subscription = False

Als True, vraagt de GUI de gebruiker om een gebruikersnaam en wachtwoord die tijdens het downloaden moeten worden gebruikt. Als deze optie is ingesteld op “optioneel”, is het gebruik van een gebruikersnaam en wachtwoord optioneel

no_stylesheets = False

Handige vlag om het laden van stylesheets uit te schakelen voor websites met te complexe stylesheets die niet geschikt zijn voor conversie naar e-boekformaten. Als True is ingesteld, worden stylesheets niet gedownload en verwerkt

oldest_article = 7.0

Oudste artikel dat van deze nieuwsbron kan worden gedownload. In dagen.

preprocess_regexps = []

Lijst met regexp-vervangingsregels die moeten worden uitgevoerd op de gedownloade HTML. Elk element van de lijst moet een tuple met twee elementen zijn. Het eerste element van de tuple moet een gecompileerde reguliere expressie zijn en het tweede een callable die één match-object accepteert en een string retourneert om de match te vervangen. Bijvoorbeeld:

preprocess_regexps = [
   (re.compile(r'<!--Article ends here-->.*</body>', re.DOTALL|re.IGNORECASE),
    lambda match: '</body>'),
]

zal alles verwijderen van <!–Article ends here–> tot </body>.

publication_type = 'unknown'

Publicatietype Stel in op krant, tijdschrift of blog. Als u Geen instelt, worden er geen metagegevens over het publicatietype naar het opf-bestand geschreven.

recipe_disabled = None

Stel een niet-lege tekenreeks in om dit recept uit te schakelen. De tekenreeks wordt gebruikt als bericht voor het uitschakelen

recipe_specific_options = None

Geef opties op die specifiek zijn voor dit recept. Deze kunnen door de gebruiker worden aangepast in het tabblad Geavanceerd van het dialoogvenster Nieuws ophalen of in de opdrachtregel van ebook-convert. De opties worden opgegeven als een woordenboek waarin de optienaam wordt gekoppeld aan metagegevens over de optie. Bijvoorbeeld:

recipe_specific_options = {
    'edition_date': {
        'short': 'The issue date to download',
        'long':  'Specify a date in the format YYYY-mm-dd to download the issue corresponding to that date',
        'default': 'current',
    }
}

Wanneer het recept wordt uitgevoerd, is self.recipe_specific_options een dict die de naam van de optie koppelt aan de door de gebruiker opgegeven waarde van de optie. Wanneer de optie niet door de gebruiker is opgegeven, krijgt deze de waarde die is opgegeven door ‘default’. Als er geen standaardwaarde is opgegeven, komt de optie helemaal niet voor in de dict wanneer deze niet door de gebruiker is opgegeven.

recursions = 0

Aantal niveaus van links die op artikelwebpagina’s moeten worden gevolgd

remove_attributes = []

Lijst met attributen die uit alle tags moeten worden verwijderd. Bijvoorbeeld:

remove_attributes = ['style', 'font']
remove_empty_feeds = False

Als True worden lege feeds uit de uitvoer verwijderd. Deze optie heeft geen effect als parse_index wordt overschreven in de subklasse. Het is alleen bedoeld voor recepten die een lijst met feeds retourneren met behulp van feeds of get_feeds(). Het wordt ook gebruikt als u de optie ignore_duplicate_articles gebruikt.

remove_javascript = True

Handige vlag om alle JavaScript-tags uit de gedownloade HTML te verwijderen

remove_tags = []

Lijst met te verwijderen tags. De opgegeven tags worden verwijderd uit de gedownloade HTML. Een tag wordt opgegeven als een woordenboek in de vorm:

{
 name      : 'tag name',   #e.g. 'div'
 attrs     : a dictionary, #e.g. {'class': 'advertisement'}
}

Alle sleutels zijn optioneel. Voor een volledige uitleg van de zoekcriteria, zie Beautiful Soup Een veelvoorkomend voorbeeld:

remove_tags = [dict(name='div', class_='advert')]

Hierdoor worden alle <div class=”advert”>-tags en al hun onderliggende elementen uit de gedownloade HTML.

remove_tags_after = None

Verwijder alle tags die na de opgegeven tag voorkomen. Zie BasicNewsRecipe.remove_tags voor het formaat voor het opgeven van een tag. Bijvoorbeeld:

remove_tags_after = [dict(id='content')]

verwijdert alle tags na het eerste element met id=”content”.

remove_tags_before = None

Verwijder alle tags die vóór de opgegeven tag voorkomen. Zie BasicNewsRecipe.remove_tags voor het formaat voor het opgeven van een tag. Bijvoorbeeld:

remove_tags_before = dict(id='content')

verwijdert alle tags vóór het eerste element met id=”content”.

requires_version = (0, 6, 0)

Minimaal benodigde Calibre versie om dit recept te gebruiken

Als deze optie is ingesteld op True, worden links in gedownloade artikelen die verwijzen naar andere gedownloade artikelen gewijzigd zodat ze verwijzen naar de gedownloade kopie van het artikel in plaats van naar de oorspronkelijke web-URL. Als u deze optie instelt op True, moet u mogelijk ook canonicalize_internal_url() implementeren om te kunnen werken met het URL-schema van uw specifieke website.

reverse_article_order = False

Volgorde van artikelen omdraaien in iedere feed

scale_news_images = None

Maximale afmetingen (b, h) waarnaar afbeeldingen worden geschaald. Als scale_news_images_to_device True is, wordt dit ingesteld op de afmetingen van het apparaatscherm die zijn ingesteld door het uitvoerprofiel, tenzij er geen profiel is ingesteld. In dat geval blijft de waarde behouden die is toegewezen (standaard None).

scale_news_images_to_device = True

Schaal afbeeldingen zodat ze passen in de afmetingen van het apparaatscherm die zijn ingesteld door het uitvoerprofiel. Wordt genegeerd als er geen uitvoerprofiel is ingesteld.

simultaneous_downloads = 5

Aantal gelijktijdige downloads. Stel in op 1 als de server kieskeurig is. Wordt automatisch teruggebracht tot 1 als BasicNewsRecipe.delay > 0

summary_length = 500

Maximum aantal tekens om te gebruiken in korte omschrijving

template_css = '\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    '

De CSS die wordt gebruikt om de sjablonen op te maken, d.w.z. de navigatiebalken en de inhoudsopgaven. In plaats van deze variabele te overschrijven, kunt u beter extra_css in uw recept gebruiken om het uiterlijk aan te passen.

timefmt = ' [%a, %d %b %Y]'

De opmaakreeks voor de datum die op de eerste pagina wordt weergegeven. Standaard: Dagnaam, Dagnummer Maandnaam Jaar

timeout = 120.0

Timeout voor ophalen van bestanden van de server in seconden

title = 'Onbekende nieuwsbron'

De titel die voor het e-book moet worden gebruikt

use_embedded_content = None

Normaal gesproken proberen we te raden of een feed volledige artikelen bevat op basis van de lengte van de ingesloten inhoud. Als None, dan wordt de standaardgok gebruikt. Als True, dan gaan we er altijd vanuit dat de feeds ingesloten inhoud bevatten en als False gaan we er altijd vanuit dat de feed geen ingesloten inhoud bevat.