Dokumentácia API pre recepty

API na písanie receptov je definované triedou BasicNewsRecipe

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

Základná trieda, ktorá obsahuje logiku potrebnú vo všetkých receptoch. Postupným prepisovaním stále väčšieho množstva funkcií tejto triedy môžete vytvárať čoraz viac prispôsobené alebo výkonnejšie recepty. Úvod do tvorby receptov formou návodu nájdete v Pridanie obľúbenej webovej stránky so správami.

classmethod adeify_images(soup)[zdroj]

Ak má váš recept po konverzii na EPUB problémy s obrázkami pri zobrazení v Adobe Digital Editions, zavolajte túto metódu vnútri postprocess_html().

classmethod image_url_processor(baseurl, url)[zdroj]

Vykonajte nejaké spracovanie na URL adresách obrázkov (napríklad odstránenie obmedzení veľkosti pre dynamicky generované obrázky atď.) a vráťte spracovanú URL adresu. Ak chcete preskočiť načítanie obrázka, vráťte None alebo prázdny reťazec.

classmethod print_version(url)[zdroj]

Vezme url ukazujúcu na webovú stránku s obsahom článku a vráti URL ukazujúcu na tlačenú verziu článku. V predvolenom nastavení nič nerobí. Napríklad:

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

Pomocná metóda, ktorá vezme Tag z BeautifulSoup a rekurzívne z neho extrahuje text vrátane akýchkoľvek CDATA sekcií a atribútov alt značiek. Vráti potenciálne prázdny reťazec Unicode.

use_alt: Ak True, pokúste sa použiť atribút alt pre značky, ktoré nemajú žiadny textový obsah

tag: Tag z BeautifulSoup

abort_article(msg=None)[zdroj]

Zavolajte túto metódu vnútri ktorejkoľvek z metód predspracovania na prerušenie sťahovania aktuálneho článku. Užitočné na preskočenie článkov, ktoré obsahujú nevhodný obsah, ako napríklad čisto videorozhrania.

abort_recipe_processing(msg)[zdroj]

Spôsobí, že systém sťahovania receptov preruší sťahovanie tohto receptu a zobrazí používateľovi jednoduchú správu.

add_toc_thumbnail(article, src)[zdroj]

Zavolajte to z populate_article_metadata s atribútom src značky <img> z článku, ktorá je vhodná na použitie ako náhľad reprezentujúci článok v obsahu. Či sa náhľad skutočne použije, závisí od zariadenia (v súčasnosti sa používa iba v Kindle). Upozorňujeme, že odkazovaný obrázok musí byť ten, ktorý bol úspešne stiahnutý, inak sa ignoruje.

canonicalize_internal_url(url, is_link=True)[zdroj]

Vráti množinu kanonických reprezentácií url. Predvolená implementácia používa iba názov hostiteľa servera a cestu URL adresy, pričom ignoruje akékoľvek parametre dopytu, fragmenty atď. Kanonické reprezentácie musia byť jedinečné pre všetky URL adresy tohto zdroja správ. Ak nie sú, interné odkazy sa môžu vyriešiť nesprávne.

Parametre:

is_link – Je True, ak URL adresa pochádza z interného odkazu v HTML súbore. False, ak je URL adresa použitá na stiahnutie článku.

cleanup()[zdroj]

Volá sa po stiahnutí všetkých článkov. Použite ju na akékoľvek upratovanie, ako napríklad odhlásenie z predplatiteľských stránok atď.

clone_browser(br)[zdroj]

Klonujte prehliadač br. Klonované prehliadače sa používajú na viacvláknové sťahovanie, pretože mechanize nie je vláknovo bezpečný. Predvolené rutiny klonovania by mali zachytiť väčšinu prispôsobení prehliadača, ale ak vo svojom recepte robíte niečo exotické, mali by ste túto metódu vo svojom recepte prepísať a klonovať manuálne.

Klonované inštancie prehliadača používajú v predvolenom nastavení rovnaký vláknovo bezpečný CookieJar, pokiaľ ste neprispôsobili spracovanie cookies.

default_cover(cover_file)[zdroj]

Vytvorte generickú obálku pre recepty, ktoré nemajú obálku

download()[zdroj]

Stiahnite a predspracujte všetky články z kanálov v tomto recepte. Táto metóda by sa mala zavolať iba raz pre konkrétnu inštanciu receptu. Zavolanie viac ako raz povedie k nedefinovanému správaniu. :return: Cesta k index.html

extract_readable_article(html, url)[zdroj]

Extrahuje hlavný obsah článku z ‚html‘, vyčistí ho a vráti ako n-ticu (article_html, extracted_title). Na základe pôvodného algoritmu čitateľnosti od Arc90.

get_article_url(article)[zdroj]

Prepíšte v podtriede na prispôsobenie extrakcie URL, ktorá ukazuje na obsah každého článku. Vráti URL adresu článku. Volá sa s article, objektom predstavujúcim analyzovaný článok z kanála. Pozri feedparser. V predvolenom nastavení hľadá pôvodný odkaz (pre kanály distribuované prostredníctvom služby, ako je FeedBurner alebo Pheedo) a ak ho nájde, vráti ho, inak vráti article.link.

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

Vráti inštanciu prehliadača použitú na načítavanie dokumentov z webu. V predvolenom nastavení vráti inštanciu prehliadača mechanize, ktorá podporuje cookies, ignoruje robots.txt, spracúva obnovenia a má náhodného bežného používateľského agenta.

Ak chcete prispôsobiť prehliadač, prepíšte túto metódu vo svojej podtriede takto:

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()[zdroj]

Vráti URL obrázka obálky pre toto vydanie alebo None. V predvolenom nastavení vráti hodnotu člena self.cover_url, ktorá je zvyčajne None. Ak chcete, aby váš recept stiahol obálku pre e-knihu, prepíšte túto metódu vo svojej podtriede alebo nastavte členskú premennú self.cover_url pred zavolaním tejto metódy.

get_extra_css()[zdroj]

V predvolenom nastavení vráti self.extra_css. Prepíšte, ak chcete programovo generovať extra_css.

get_feeds()[zdroj]

Vráti zoznam RSS kanálov, ktoré sa majú načítať pre tento profil. Každý prvok zoznamu musí byť 2-prvková n-tica v tvare (title, url). Ak je title None alebo prázdny reťazec, použije sa názov z kanála. Táto metóda je užitočná, ak váš recept potrebuje vykonať nejaké spracovanie na zistenie zoznamu kanálov na stiahnutie. Ak áno, prepíšte ju vo svojej podtriede.

get_masthead_title()[zdroj]

Prepíšte v podtriede, ak chcete použiť niečo iné ako názov receptu

get_masthead_url()[zdroj]

Vráti URL obrázka hlavičky pre toto vydanie alebo None. V predvolenom nastavení vráti hodnotu člena self.masthead_url, ktorá je zvyčajne None. Ak chcete, aby váš recept stiahol hlavičku pre e-knihu, prepíšte túto metódu vo svojej podtriede alebo nastavte členskú premennú self.masthead_url pred zavolaním tejto metódy. Obrázky hlavičky sa používajú v súboroch Kindle MOBI.

get_obfuscated_article(url)[zdroj]

Ak nastavíte articles_are_obfuscated, táto metóda sa zavolá s každou URL adresou článku. Mala by vrátiť cestu k súboru v súborovom systéme, ktorý obsahuje HTML článku. Tento súbor spracúva rekurzívny engine na načítavanie HTML, takže môže obsahovať odkazy na stránky alebo obrázky na webe. Prípadne môžete vrátiť slovník v tvare: {‚data‘: <HTML dáta>, ‚url‘: <vyriešená URL adresa článku>}. Tým sa vyhnete potrebe vytvárať dočasné súbory. Kľúč url v slovníku je užitočný, ak sa efektívna URL adresa článku líši od URL adresy odovzdanej do tejto metódy, napríklad kvôli presmerovaniam. Možno ho vynechať, ak sa URL adresa nezmenila.

Táto metóda je zvyčajne užitočná pre stránky, ktoré sa snažia sťažiť automatický prístup k obsahu článkov.

get_url_specific_delay(url)[zdroj]

Vráti oneskorenie v sekundách pred stiahnutím tejto URL adresy. Ak chcete programovo určiť oneskorenie pre zadanú URL adresu, prepíšte túto metódu vo svojej podtriede a vráťte self.delay ako predvolenú hodnotu pre URL adresy, ktoré nechcete ovplyvniť.

Vracia:

Číslo s pohyblivou rádovou čiarkou, oneskorenie v sekundách.

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

Pomocná metóda, ktorá vezme URL adresu indexovej stránky a vráti jej BeautifulSoup.

url_or_raw: buď URL adresa, alebo stiahnutá indexová stránka ako reťazec

Vráti True, ak sa má odkaz nasledovať, inak False. V predvolenom nastavení vyvolá NotImplementedError, čo spôsobí, že ho sťahovač ignoruje.

Parametre:
  • url – URL adresa, ktorá sa má nasledovať

  • tag – Značka, z ktorej bola URL adresa odvodená

parse_feeds()[zdroj]

Vytvorte zoznam článkov zo zoznamu kanálov vrátených metódou BasicNewsRecipe.get_feeds(). Vráťte zoznam objektov Feed.

parse_index()[zdroj]

Táto metóda by mala byť implementovaná v receptoch, ktoré namiesto kanálov analyzujú webovú stránku na vygenerovanie zoznamu článkov. Typickým použitím sú zdroje správ, ktoré majú webovú stránku „Print Edition“ so zoznamom všetkých článkov v aktuálnom tlačenom vydaní. Ak je táto funkcia implementovaná, použije sa prednostne pred BasicNewsRecipe.parse_feeds().

Musí vrátiť zoznam. Každý prvok zoznamu musí byť 2-prvková n-tica v tvare ('názov kanála', zoznam článkov).

Každý zoznam článkov musí obsahovať slovníky v tvare:

{
'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.
}

Príklad nájdete v recepte na sťahovanie The Atlantic. Okrem toho môžete pridať ‚author‘ pre autora článku.

Ak chcete z nejakého dôvodu prerušiť spracovanie a nechať calibre zobraziť používateľovi jednoduchú správu namiesto chyby, zavolajte abort_recipe_processing().

populate_article_metadata(article, soup, first)[zdroj]

Volá sa pri stiahnutí každej HTML stránky patriacej k článku. Je určená na získanie metadát článku, ako sú autor, zhrnutie atď., z analyzovaného HTML (soup).

Parametre:
  • article – Objekt triedy calibre.web.feeds.Article. Ak zmeníte zhrnutie, nezabudnite zmeniť aj text_summary

  • soup – Analyzovaný HTML patriaci k tomuto článku

  • first – True vtedy a len vtedy, ak je analyzovaný HTML prvou stránkou článku.

postprocess_book(oeb, opts, log)[zdroj]

Vykonajte akékoľvek potrebné následné spracovanie analyzovanej stiahnutej e-knihy.

Parametre:
  • oeb – Objekt OEBBook

  • opts – Možnosti konverzie

postprocess_html(soup, first_fetch)[zdroj]

Táto metóda sa volá so zdrojom každého stiahnutého HTML súboru po jeho analýze na odkazy a obrázky. Môže sa použiť na vykonávanie ľubovoľne výkonného následného spracovania HTML. Po spracovaní by mala vrátiť soup.

Parametre:
  • soup – Inštancia BeautifulSoup obsahujúca stiahnutý HTML.

  • first_fetch – True, ak ide o prvú stránku článku.

preprocess_html(soup)[zdroj]

Táto metóda sa volá so zdrojom každého stiahnutého HTML súboru pred jeho analýzou na odkazy a obrázky. Volá sa po vyčistení určenom pomocou remove_tags atď. Môže sa použiť na vykonávanie ľubovoľne výkonného predspracovania HTML. Po spracovaní by mala vrátiť soup.

soup: inštancia BeautifulSoup obsahujúca stiahnutý HTML.

preprocess_image(img_data, image_url)[zdroj]

Vykonajte nejaké spracovanie na stiahnutých dátach obrázka. Volá sa na surových dátach pred akýmkoľvek zmenšením. Musí vrátiť spracované surové dáta. Ak chcete obrázok preskočiť, vráťte None.

preprocess_raw_html(raw_html, url)[zdroj]

Táto metóda sa volá so zdrojom každého stiahnutého HTML súboru pred jeho analýzou do stromu objektov. raw_html je reťazec Unicode reprezentujúci surový HTML stiahnutý z webu. url je URL adresa, z ktorej bol HTML stiahnutý.

Upozorňujeme, že táto metóda pôsobí pred preprocess_regexps.

Táto metóda musí vrátiť spracovaný raw_html ako objekt Unicode.

publication_date()[zdroj]

Použite túto metódu na nastavenie dátumu, kedy bolo toto vydanie publikované. Predvolene je to okamih stiahnutia. Musí vrátiť objekt datetime.datetime.

skip_ad_pages(soup)[zdroj]

Táto metóda sa volá so zdrojom každého stiahnutého HTML súboru pred použitím akýchkoľvek atribútov čistenia, ako sú remove_tags, keep_only_tags. Upozorňujeme, že preprocess_regexps už budú použité. Je určená na to, aby receptu umožnila preskočiť reklamné stránky. Ak soup predstavuje reklamnú stránku, vráťte HTML skutočnej stránky. V opačnom prípade vráťte None.

soup: inštancia BeautifulSoup obsahujúca stiahnutý HTML.

sort_index_by(index, weights)[zdroj]

Pomocná metóda na zoradenie názvov v index podľa weights. index sa triedi na mieste. Vráti index.

index: Zoznam názvov.

weights: slovník, ktorý priraďuje váhy k názvom. Ak nejaké názvy v indexe nie sú vo weights, predpokladá sa, že majú váhu 0.

warmup_excluded_domains()[zdroj]

Domény, od ktorých sa prehliadač ‚camoufox‘ musí počas zahrievania držať ďalej, aby ho stránka, z ktorej sa sťahuje, prvýkrát uvidela až ako súčasť vlastného sťahovania. V predvolenom nastavení ide o domény všetkých staticky deklarovaných kanálov.

articles_are_obfuscated = False

Nastavte na True a implementujte get_obfuscated_article() na spracovanie webových stránok, ktoré sa snažia sťažiť scrapovanie obsahu.

auto_cleanup = False

Automaticky extrahujte všetok text zo stiahnutých stránok článkov. Používa algoritmy z projektu readability. Nastavenie na True znamená, že sa nemusíte starať o manuálne čistenie stiahnutého HTML (hoci manuálne čistenie bude vždy lepšie).

auto_cleanup_keep = None

Určite prvky, ktoré by algoritmus automatického čistenia nikdy nemal odstrániť. Syntax je výraz XPath. Napríklad:

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'

Simulovaný engine prehliadača, ktorý sa použije pri sťahovaní zo serverov. V predvolenom nastavení sa používa engine prehliadača Python mechanize, ktorý podporuje prihlasovanie. Ak však prihlasovanie nepotrebujete, zvážte zmenu na ‚webengine‘, ktorý používa skutočný prehliadač Chromium na sieťové požiadavky, alebo ‚qt‘, ktorý používa backend Qt Networking. ‚webengine‘ aj ‚qt‘ podporujú HTTP/2, čo mechanize nepodporuje, a preto sa ťažšie odtlačkujú pre služby ochrany proti botom.

Pre stránku, ktorá porazí všetky predchádzajúce možnosti, použite ‚camoufox‘, ktorý stiahne a ovláda skutočný prehliadač založený na Firefoxe navrhnutý tak, aby skryl skutočnosť, že je automatizovaný. Je zďaleka najťažší zo štyroch: prehliadač stiahne pri prvom použití, zahreje ho návštevou niekoľkých bežne navštevovaných stránok pred začatím vašich kanálov a skutočne prejde na každý článok a spustí jeho skripty, namiesto toho, aby ho len vyžiadal. Na oplátku sa články načítajú presne tak, ako by ich načítal človek prehliadajúci stránku, a ich obrázky vychádzajú z prehliadača bez toho, aby sa sťahovali druhýkrát. Upozorňujeme, že ignoruje akéhokoľvek používateľského agenta, ktorého nastavíte, pretože používa takého, ktorý zodpovedá zvyšku odtlačku, ktorý prezentuje.

center_navbar = True

Ak je True, navigačná lišta je zarovnaná na stred, inak je zarovnaná vľavo

compress_news_images = False

Nastavte na False, ak chcete ignorovať všetky parametre zmenšovania a kompresie a preniesť obrázky nezmenené. Ak je True a ostatné parametre kompresie zostanú na predvolených hodnotách, obrázky sa zmenšia tak, aby sa zmestili do rozmerov obrazovky nastavených výstupným profilom, a skomprimujú sa na veľkosť najviac (w * h)/16, kde w x h sú rozmery zmenšeného obrázka.

compress_news_images_auto_size = 16

Faktor použitý pri automatickej kompresii obrázkov JPEG. Ak je nastavený na None, automatická kompresia je zakázaná. V opačnom prípade sa obrázky zmenšia na veľkosť (w * h)/compress_news_images_auto_size bajtov, ak je to možné, znížením úrovne kvality, kde w x h sú rozmery obrázka v pixeloch. Minimálna kvalita JPEG bude 5/100, takže je možné, že toto obmedzenie nebude splnené. Tento parameter môže byť prepísaný parametrom compress_news_images_max_size, ktorý poskytuje pevnú maximálnu veľkosť obrázkov. Upozorňujeme, že ak povolíte scale_news_images_to_device, obrázok sa najprv zmenší a potom sa zníži jeho kvalita, kým jeho veľkosť nebude menšia ako (w * h)/factor, kde w a h sú teraz zmenšené rozmery obrázka. Inými slovami, táto kompresia prebieha po zmenšení.

compress_news_images_max_size = None

Nastavte kvalitu JPEG tak, aby obrázky neprekročili zadanú veľkosť (v kB). Ak je nastavený, tento parameter prepíše automatickú kompresiu cez compress_news_images_auto_size. Minimálna kvalita JPEG bude 5/100, takže je možné, že toto obmedzenie nebude splnené.

conversion_options = {}

Možnosti špecifické pre recept na ovládanie konverzie stiahnutého obsahu na e-knihu. Tieto prepíšu akékoľvek hodnoty zadané používateľom alebo zásuvným modulom, takže ich použite len v prípade absolútnej nevyhnutnosti. Napníklad:

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

V predvolenom nastavení sa obrázok obálky vrátený funkciou get_cover_url() použije ako obálka periodika. Prepísanie tohto vo vašom recepte dá calibre pokyn vykresliť stiahnutú obálku do rámu, ktorého šírka a výška sú vyjadrené ako percento stiahnutej obálky. cover_margins = (10, 15, ‚#ffffff‘) obalí obálku bielym okrajom 10px vľavo a vpravo, 15px hore a dole. Názvy farieb sú definované tu. Upozorňujeme, že z nejakého dôvodu biela vo Windows vždy nefunguje. Namiesto toho použite #ffffff

delay: float | int = 0

Predvolené oneskorenie medzi po sebe idúcimi sťahovaniami v sekundách. Argument môže byť číslo s pohyblivou rádovou čiarkou na vyjadrenie presnejšieho času. Pozri get_url_specific_delay() na implementáciu oneskorení pre jednotlivé URL adresy.

description = ''

Niekoľko riadkov, ktoré opisujú obsah, ktorý tento recept sťahuje. Použije sa predovšetkým v GUI, ktoré zobrazuje zoznam receptov.

encoding = None

Zadajte prepisujúce kódovanie pre stránky, ktoré majú nesprávnu špecifikáciu znakovej sady. Najčastejšie ide o uvedenie latin1 a používanie cp1252. Ak je None, pokúste sa zistiť kódovanie. Ak je to volateľný objekt, zavolá sa s dvoma argumentmi: objektom receptu a zdrojom, ktorý sa má dekódovať. Musí vrátiť dekódovaný zdroj.

extra_css = None

Zadajte akékoľvek extra CSS, ktoré sa má pridať do stiahnutých HTML súborov. Vloží sa do značiek <style> tesne pred zatváraciu značku </head>, čím prepíše všetky CSS okrem tých, ktoré sú deklarované pomocou atribútu style na jednotlivých HTML značkách. Upozorňujeme, že ak chcete programovo generovať extra_css, prepíšte namiesto toho metódu get_extra_css(). Napríklad:

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

Zoznam kanálov na stiahnutie. Môže byť buď [url1, url2, ...], alebo [('title1', url1), ('title2', url2),...]

filter_regexps = []

Zoznam regulárnych výrazov, ktorý určuje, ktoré odkazy ignorovať. Ak je prázdny, ignoruje sa. Používa sa iba vtedy, ak nie je implementovaná is_link_wanted. Napríklad:

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

odstráni všetky URL adresy, ktoré obsahujú ads.doubleclick.net.

Mala by byť definovaná iba jedna z možností BasicNewsRecipe.match_regexps alebo BasicNewsRecipe.filter_regexps.

handle_gzip = True

Nastavte na False, ak nechcete používať prenosy s gzip v prehliadači mechanize. Upozorňujeme, že niektoré staré servery s gzip zlyhávajú.

ignore_duplicate_articles = None

Ignorujte duplikáty článkov, ktoré sa nachádzajú vo viac ako jednej sekcii. Duplikovaný článok je článok, ktorý má rovnaký názov alebo URL adresu. Ak chcete ignorovať články s rovnakým názvom, nastavte to na:

ignore_duplicate_articles = {'title'}

Ak chcete namiesto toho použiť URL adresy, nastavte to na:

ignore_duplicate_articles = {'url'}

Ak chcete porovnávať podľa názvu alebo URL adresy, nastavte to na:

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

Ponechajte iba určené značky a ich potomkov. Formát na určenie značky nájdete v BasicNewsRecipe.remove_tags. Ak tento zoznam nie je prázdny, značka <body> sa vyprázdni a znovu naplní značkami, ktoré zodpovedajú položkám v tomto zozname. Napríklad:

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

ponechá iba značky, ktoré majú atribút id s hodnotou „content“ alebo „heading“.

language = 'und'

Jazyk, v ktorom sú správy. Musí to byť kód ISO-639 s dĺžkou dvoch alebo troch znakov

masthead_url = None

V predvolenom nastavení calibre použije predvolený obrázok pre hlavičku (iba Kindle). Prepíšte to vo svojom recepte, ak chcete poskytnúť URL adresu na použitie ako hlavičku.

match_regexps = []

Zoznam regulárnych výrazov, ktorý určuje, ktoré odkazy nasledovať. Ak je prázdny, ignoruje sa. Používa sa iba vtedy, ak nie je implementovaná is_link_wanted. Napríklad:

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

bude zodpovedať všetkým URL adresám, ktoré obsahujú page=some number.

Mala by byť definovaná iba jedna z možností BasicNewsRecipe.match_regexps alebo BasicNewsRecipe.filter_regexps.

max_articles_per_feed: int = 100

Maximálny počet článkov na stiahnutie z každého kanála. Je to užitočné predovšetkým pre kanály, ktoré nemajú dátumy článkov. Pre väčšinu kanálov by ste mali použiť BasicNewsRecipe.oldest_article

needs_subscription = False

Ak je True, GUI sa opýta používateľa na používateľské meno a heslo, ktoré sa použijú pri sťahovaní. Ak je nastavené na „optional“, používanie používateľského mena a hesla sa stáva voliteľným

no_stylesheets = False

Praktický príznak na zakázanie načítavania štýlov pre webové stránky, ktoré majú príliš zložité štýly nevhodné na konverziu do formátov e-kníh. Ak je True, štýly sa nesťahujú ani nespracúvajú

oldest_article: float | int = 7.0

Najstarší článok na stiahnutie z tohto zdroja správ. V dňoch.

preprocess_regexps = []

Zoznam pravidiel nahradenia regexp, ktoré sa majú spustiť na stiahnutom HTML. Každý prvok zoznamu by mal byť dvojprvková n-tica. Prvý prvok n-tice by mal byť skompilovaný regulárny výraz a druhý volateľný objekt, ktorý vezme jediný objekt zhody a vráti reťazec na nahradenie zhody. Napríklad:

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

odstráni všetko od <!–Article ends here–> po </body>.

publication_type = 'unknown'

Typ publikácie Nastavte na newspaper, magazine alebo blog. Ak je nastavené na None, do súboru opf sa nezapíšu žiadne metadáta typu publikácie.

recipe_disabled = None

Nastavte na neprázdny reťazec na zakázanie tohto receptu. Reťazec sa použije ako správa o zakázaní

recipe_specific_options = None

Zadajte možnosti špecifické pre tento recept. Budú k dispozícii používateľovi na prispôsobenie na karte Pokročilé v dialógovom okne Načítať správy alebo v príkazovom riadku ebook-convert. Možnosti sa zadávajú ako slovník priraďujúci názov možnosti k metadátam o možnosti. Napníklad:

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',
    }
}

Keď sa recept spustí, self.recipe_specific_options bude dict priraďujúci názov možnosti k hodnote možnosti zadanej používateľom. Ak používateľ možnosť nezadal, bude mať hodnotu určenú v ‚default‘. Ak nie je zadaná žiadna predvolená hodnota, možnosť nebude v dict vôbec, keď ju používateľ nezadal.

recursions: int = 0

Počet úrovní odkazov na nasledovanie na webových stránkach článkov

remove_attributes = []

Zoznam atribútov na odstránenie zo všetkých značiek. Napríklad:

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

Ak je True, prázdne kanály sa odstránia z výstupu. Táto možnosť nemá vplyv, ak je parse_index prepísaná v podtriede. Je určená iba pre recepty, ktoré vracajú zoznam kanálov pomocou feeds alebo get_feeds(). Používa sa aj vtedy, ak použijete možnosť ignore_duplicate_articles.

remove_javascript = True

Praktický príznak na odstránenie všetkých značiek JavaScript zo stiahnutého HTML

remove_tags = []

Zoznam značiek na odstránenie. Určené značky sa odstránia zo stiahnutého HTML. Značka sa zadáva ako slovník v tvare:

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

Všetky kľúče sú voliteľné. Úplné vysvetlenie kritérií vyhľadávania nájdete v Beautiful Soup Bežný príklad:

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

Týmto sa odstránia všetky značky <div class=“advert“> a všetci ich potomkovia zo stiahnutého HTML.

remove_tags_after = None

Odstráňte všetky značky, ktoré sa vyskytujú za určenou značkou. Formát na určenie značky nájdete v BasicNewsRecipe.remove_tags. Napríklad:

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

odstráni všetky značky za prvým prvkom s id=“content“.

remove_tags_before = None

Odstráňte všetky značky, ktoré sa vyskytujú pred určenou značkou. Formát na určenie značky nájdete v BasicNewsRecipe.remove_tags. Napríklad:

remove_tags_before = dict(id='content')

odstráni všetky značky pred prvým prvkom s id=“content“.

requires_version = (0, 6, 0)

Minimálna verzia calibre potrebná na použitie tohto receptu

Ak je nastavené na True, odkazy v stiahnutých článkoch, ktoré ukazujú na iné stiahnuté články, sa zmenia tak, aby ukazovali na stiahnutú kópiu článku namiesto jeho pôvodnej webovej URL adresy. Ak to nastavíte na True, možno budete musieť tiež implementovať canonicalize_internal_url(), aby to fungovalo so schémou URL vašej konkrétnej webovej stránky.

reverse_article_order = False

Obrátiť poradie článkov v každom kanáli

scale_news_images = None

Maximálne rozmery (w,h), na ktoré sa majú obrázky zmenšiť. Ak je scale_news_images_to_device True, nastaví sa na rozmery obrazovky zariadenia nastavené výstupným profilom, pokiaľ nie je nastavený žiadny profil, v ktorom prípade zostane na hodnote, ktorá mu bola priradená (predvolene None).

scale_news_images_to_device = True

Zmenšite obrázky tak, aby sa zmestili do rozmerov obrazovky zariadenia nastavených výstupným profilom. Ignoruje sa, ak nie je nastavený žiadny výstupný profil.

simultaneous_downloads: int = 5

Počet simultánnych sťahovaní. Nastavte na 1, ak je server vyberavý. Automaticky sa zníži na 1, ak BasicNewsRecipe.delay > 0

summary_length = 500

Maximálny počet znakov v krátkom popise

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    '

CSS, ktoré sa používa na štýlovanie šablón, t. j. navigačných líšt a obsahov. Namiesto prepísania tejto premennej by ste mali vo svojom recepte použiť extra_css na prispôsobenie vzhľadu a správania.

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

Formátovací reťazec pre dátum zobrazený na prvej stránke. V predvolenom nastavení: Day_Name, Day_Number Month_Name Year

timeout = 120.0

Časový limit na načítavanie súborov zo servera v sekundách

title = 'Neznámy zdroj správ'

Názov, ktorý sa má použiť pre e-knihu

use_embedded_content = None

Zvyčajne sa snažíme uhádnuť, či má kanál vložené celé články, na základe dĺžky vloženého obsahu. Ak je None, použije sa predvolené hádanie. Ak je True, vždy predpokladáme, že kanál má vložený obsah, a ak je False, vždy predpokladáme, že kanál nemá vložený obsah.